蓝桥杯 分糖果

来源:互联网 发布:项目管理方法论 知乎 编辑:程序博客网 时间:2024/05/22 12:31



点击打开链接


模拟就过了。


#include <stdio.h>#include <string.h>#include <iostream>#include <map>#include <math.h>#define LL long longusing namespace std;const int maxn=1e2+10;const int mod=1e9+7;int a[maxn],b[maxn];int v[2000]={0},f=0;int main(){    int n,ans=0;    scanf("%d",&n);    for(int i=0;i<n;++i){        scanf("%d",&a[i]);        v[a[i]]++;        if(v[a[i]]==n) f=1;    }    while(1){        if(f) break;        for(int i=0;i<n;++i) b[i]=a[i]/2;        memset(v,0,sizeof(v));        for(int i=0;i<n;++i){            if(i==n-1){                a[i]=b[i]+b[0];                if(a[i]&1) a[i]+=1,ans++;                v[a[i]]++;                if(v[a[i]]==n) {                    f=1; break;                }            }else{                a[i]=b[i]+b[i+1];                if(a[i]&1) a[i]+=1,ans++;                v[a[i]]++;                if(v[a[i]]==n) {                    f=1; break;                }            }        }    }    printf("%d\n",ans);    return 0;}


0 0