当时读错题意了 以为是什么博弈什么的 后来知道x,y不是拿走
算一下所有数的最大公约数 相差小于最大公约数的数肯定没有
1 #include <iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<stdlib.h> 6 using namespace std; 7 #define N 110 8 #define LL __int64 9 LL p[N]; 10 LL gcd(LL a,LL b) 11 { 12 return b==0?a:gcd(b,a%b); 13 } 14 int main() 15 { 16 int i,n; 17 LL s=0,maxz=0; 18 scanf("%d",&n); 19 for(i = 1 ; i <= n ;i++) 20 { 21 scanf("%I64d",&p[i]); 22 s = gcd(s,p[i]); 23 maxz = max(maxz,p[i]); 24 } 25 LL k = maxz/s-n; 26 if(k%2) 27 puts("Alice"); 28 else 29 puts("Bob"); 30 return 0; 31 }