题解 | 浮木博弈
浮木博弈
https://www.nowcoder.com/practice/8c70e6107d37468e9f6ad2b25ff167bf
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
int t;
cin>>t;
while(t--){
int n;cin>>n;
vector<int>a(n,0);
for(int i=0;i<n;++i){
cin>>a[i];
}
if(n%2==0){
bool ok=0,okk=0;;
int cnt0=0,cnt1=0;
for(int i=0;i<n;i+=2){
if(a[i]>1){ok=1;break;}
else if(a[i+1]>1){okk=1;break;}
}
if(!okk&&!ok){cout<<"Bob"<<'\n';}
else if(ok){cout<<"Alice"<<'\n';}
else{cout<<"Bob"<<'\n';}
}
else{
bool ok=0,okk=0;
int cnt0=0,cnt1=0;
for(int i=0;i<n;i+=2){
if(a[i]>1){ok=1;break;}
else if(i+1 < n&&a[i+1]>1){okk=1;break;}
}
if(!okk&&!ok){cout<<"Alice"<<'\n';}
else if(ok){cout<<"Alice"<<'\n';}
else{cout<<"Bob"<<'\n';}
}
}
}
查看23道真题和解析