知识点:
1.
int a; if(!a) { ......; }
对于以上语句,a为0则其对应的布尔型值为0,其余情况对应布尔型值为1,该语句意为a为假时执行后续语句
2.
题目:
#include<bits/stdc++.h> #define n 5050 using namespace std; int sg[n][n]; int main() { for(int i=0;i<n;i++) { for(int j=0;j<=i;j++) { if(!sg[i][j]) { for(int k=1;k+i<n;k++) { for(int k1=0;k1*k+j<n;k1++) { int x=k+i; int y=k1*k+j; if(x<y)swap(x,y); sg[x][y]=1; } } for(int k=1;k+j<n;k++) { for(int k1=0;k1*k+i<n;k1++) { int x=k+j; int y=k1*k+i; if(x<y)swap(x,y); sg[x][y]=1; } } } } } int t,n1,m; cin>>t; while(t--) { cin>>n1>>m; if(n1<m)swap(n1,m); puts(sg[n1][m]?"Alice":"Bob"); } }