转圈 糖果

Candy Sharing Game

http://www.nowcoder.com/questionTerminal/33adf53e095440b2823a39146a285b77

注意:
初试输入时有奇数。
如果有奇数,自己留一半+1,给别人一半。
偶数正常。

#include<iostream>
#include<vector>
using namespace std;
const int maxn=10001;
int a[maxn];
int t[maxn];
bool flag=true;
int main(){
    int n;
    while(cin>>n){
        if(n==0)break;
        int sum=0,temp0;
        for(int i=0;i<n;i++){
            cin>>a[i];
            if(n==1)continue;
            if(i==0){
                temp0=a[i];
            }else{
                if(temp0!=a[i]){
                    flag=false;
                }
            }
            if(a[i]%2!=0){
                t[i]=a[i]/2;
                a[i]=t[i]+1;
            }else{
                a[i]/=2;
                t[i]=a[i];        
            }
        }
        if(flag){
            cout<<0<<" "<<a[0]<<endl;continue;
        }
        flag=true;
        while(flag){
            sum++;
            for(int i=0;i<n;i++){
                if(i==0){
                    a[i]+=t[n-1];
                    if(a[i]%2!=0)a[i]++;
                    temp0=a[i];
                }else{
                    a[i]+=t[i-1];
                    if(a[i]%2!=0)a[i]++;
                }
                if(temp0!=a[i])flag=false;
            }
            if(flag)break;
            flag=true;
            for(int i=0;i<n;i++){
                a[i]/=2;
                t[i]=a[i];
            }
        }
        cout<<sum<<" "<<a[0]<<endl;
    }
    return 0;
}
全部评论

相关推荐

风中翠竹:真的真的真的没有kpi。。。面试官是没有任何kpi的,捞是真的想试试看这个行不行,碰碰运气,或者是面试官比较闲现在,没事捞个人看看。kpi算HR那边,但是只有你入职了,kpi才作数,面试是没有的。
双非有机会进大厂吗
点赞 评论 收藏
分享
下个早班:秒挂就是不缺人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务