Cf 346A
#include <cstdio> #include <algorithm> using namespace std; int gcd(int a,int b) { return b?gcd(b,a%b):a; } int n[100+10]; int main() { int t,maxn = 0; scanf("%d",&t); for(int i=0; i<t; i++) { scanf("%d",&n[i]); maxn = max(maxn,n[i]); } int high=maxn;
///N个数的最大公约数 for(int i=0; i<t-1; i++) { for(int j=i+1; j<t; j++) { int tem = gcd(n[i],n[j]); maxn = gcd(maxn,tem); } } int movestep = high/maxn - t; if(movestep&1) { printf("Alice\n"); } else { printf("Bob\n"); } return 0; }
浙公网安备 33010602011771号