icpc:problems:usaco22feb_sleeping_in_class_b
problems | |
---|---|
名称 | Sleeping in Class B |
题目编号 | USACO22FEB_B1 |
题目链接 | luogu.com.cn/… |
来源 | USACO |
算法分类 | 枚举, 入门_循环 |
难易程度 | 容易 |
Sleeping in Class B
想法
由于总数的和是不变的,所以枚举合并后的个数。然后再枚举合并的操作数。
代码实现
#include<iostream> #include<vector> using namespace std; int main() { int T; cin >> T; while(T--) { int n, sum = 0; cin >> n; vector<int>line(n); for (int i = 0; i < n; ++i) { cin >> line[i]; sum += line[i]; } for (int len = n; len >= 1; --len) { if(sum % len == 0) { int num = sum / len, cnt = 0; bool flag = true; for (int i = 0; i < n; ++i) { cnt += line[i]; if(cnt == num) cnt = 0; if(cnt > num) { flag = false; break; } } if(flag) { cout << n - len << endl; break; } } } } return 0; }
/app/www/public/data/pages/icpc/problems/usaco22feb_sleeping_in_class_b.txt · 最后更改: 2023/02/07 09:21 由 温婕莺