- 分糖果
AC
- 2025-7-6 16:02:41 @
// 分糖果 /* 解题思路:模拟 注意每位小朋友 分出去的糖果是 获得糖果之前的一半糖果 */ #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
- 上传者