栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

zoj 3529 A Game Between Alice...

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

zoj 3529 A Game Between Alice...

#include<cstdio>#include<cstring>#include<cmath>#include<cstdlib>#include<algorithm>#include<string>#include<vector>#include<map>using namespace std;int n;long long num[100005];int prim[500005];bool vis[5000005];void cal(){ int k=0; for(int i=2;i<5000002;i++) { if(vis[i]==0) prim[k++]=i; for(int j=0;j<k && prim[j]*i<5000002;j++) { vis[prim[j]*i]=1; if(i%prim[j]==0) break; } }}int main(){ cal(); int ss=1; while(scanf("%d",&n)==1) { for(int i=0;i<n;i++) scanf("%lld",num+i); long long ans,ti; int k; for(int i=0;i<n;i++) { ti=0;k=0; while(vis[num[i]]) { while(num[i]%prim[k]==0) { num[i]/=prim[k]; ti++; } k++; } if(num[i]==1) num[i]=ti;else num[i]=ti+1; } ans=0; for(int i=0;i<n;i++) ans^=num[i]; if(ans) { int sa; long long oo; for(int i=0;i<n;i++) { oo=ans; oo^=num[i]; if(oo<=num[i]) { sa=i; break; } } printf("Test #%d: Alice %dn",ss++,sa+1); } else printf("Test #%d: Bobn",ss++); } return 0;}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/376494.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号