// 分糖果 /* 解题思路:模拟 注意每位小朋友 分出去的糖果是 获得糖果之前的一半糖果 */ #include using namespace std; int n, c; int a[114]; bool check() { bool flag = true; for (int j = 2; j <= n; ++j) { if (a[j] != a[j-1]) { flag = false; } } return flag; } int main() { cin >> n; for (int i = 1; i <= n; ++i) { cin >> a[i]; } while (!check()) { a[n+1] = a[1];//让最后一位同学的糖果数量计算方式 和 前面保持一致 for (int i = 1; i <= n; ++i) { a[i] = a[i] / 2 + a[i+1]/2;

    }
    for (int i = 1; i <= n; ++i) { // 补糖
        if (a[i] % 2) {
            c++;
            a[i]++;
        }
    }
}
cout << c;
return 0;

}

0 条评论

目前还没有评论...

信息

ID
415
时间
1000ms
内存
256MiB
难度
5
标签
递交数
59
已通过
25
上传者