2022“杭电杯”中国大学生算法设计超级联赛(1)1012 Alice and Bob

2022“杭电杯”中国大学生算法设计超级联赛(1)1012 Alice and Bob_第1张图片

 Alice可以将一堆数字分成两队,而Bob可以将其删去一堆,并i减去1,若是有0的出现则Bob获胜反之Alice获胜。

所以我们每一次都将数字分为两队,并和前面为一体,如果有零的出现肯定是出现在一开始第一次的时候,所以只要全部模拟完毕之后判断一下开头的数字是否为0就可以。

#include 
using namespace std;
int a[100005];
int n;
int main(){
    int t;
    while(cin>>t){
        while(t--){
            cin>>n;
            for(int i=0;i<=n;i++){
                cin>>a[i];
            }
            for(int i=n;i>=1;i--){
                a[i-1]+=a[i]/2;
            }
            if(a[0]==0){
                cout<<"Bob"<

你可能感兴趣的:(算法,c++,蓝桥杯)