37 条题解
-
0
#include <iostream> using namespace std; int main() { int N; cin >> N; int cards[100]; // 存储每堆纸牌数量 int sum = 0; // 纸牌总数 for (int i = 0; i < N; i++) { cin >> cards[i]; sum += cards[i]; } int average = sum / N; // 计算平均值 int moves = 0; // 移动次数 int diff = 0; // 当前堆与平均值的差值 for (int i = 0; i < N; i++) { // 计算当前堆与平均值的差值 diff = cards[i] - average; // 如果差值不为0,则需要移动 if (diff != 0) { moves++; // 将差值传递给下一堆 cards[i+1] += diff; } } cout << moves << endl; return 0; }
信息
- ID
- 1
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 1
- 标签
- 递交数
- 4607
- 已通过
- 1304
- 上传者