HDU--4134(Sequence Folding)

来源:互联网 发布:泸州网络问政手机版 编辑:程序博客网 时间:2024/06/05 05:20

The Meanings Of Problems:

     给你一个数组,数组个数可能是奇数或者偶数,每次执行一种操作,每次以中间对称,把右边的数字加到左边的数字上,若数组个数为偶数,中间自我相加,直到剩下两个数字为止。

  然后若是第一个数字大,则Alice win 否则Bob win.

Subject Categories:

   很simple的模拟题目。

Codes:

#include<iostream>#include<algorithm>#include<functional>#include<cmath>using namespace std;const int MAXN = 110;int main(){    int nCase,num;    int digit[MAXN];    cin>>nCase;    for(int i=1;i<=nCase;i++){        cin>>num;        for(int j=0;j<num;j++){            cin>>digit[j];        }        while(num!=2){            for(int l=0;l<=(num%2?num/2:num/2-1);l++){                digit[l] +=digit[num-l-1];            }            num = num/2+num%2;        }        cout<<"Case #"<<i<<": ";        if(digit[0]>digit[1]){            cout<<"Alice"<<endl;        }else{            cout<<"Bob"<<endl;        }    }    return 0;}


原创粉丝点击