CCF认证-201703-1-分蛋糕 C语言代码实现(100分)
2019-02-28 20:13
134 查看
#include<stdio.h> int main() { int n, k, flag = 0, sum, count, weight = 0; sum = count = 0; int a[1000] = {0}; scanf("%d%d", &n, &k); for(int i; i < n; i++) { scanf("%d", &a[i]); weight += a[i];// weight表示剩余的蛋糕重量; } while(weight > k) { for(int j = flag; j < n; j++) { sum += a[j];// sum表示发给每个人的蛋糕重量; weight -= a[j]; if(sum >= k) { count++; flag = j + 1; // flag记录发放蛋糕的断点; if(weight < k) break;// 易错点,若不加break,则for循环会继续执行, // 导致最后weight值一定是零; // 测试代码:printf("%d %d\n",sum, weight) 输出中间值; sum = 0; // sum归零,重新记录; } } } if(weight > 0) printf("%d", count + 1); else if(weight == 0) printf("%d", count); return 0; }
相关文章推荐
- CCF认证 - 201703-2 - 学生排队 C语言代码实现(100分)
- CCF认证 - 201503-1 - 图像旋转 - C语言代码实现(100分)
- CCF认证 - 201412-1 - 门禁系统 (C语言代码实现)(100分)
- CCF认证 - 201312-2 - ISBN号码 (C语言代码实现)(100分)
- CCF认证 - 201509-2 - 日期计算 C语言代码实现(100分)
- CCF认证 - 201403-2 -窗口(C语言代码实现)(100分)
- CCF认证 - 201612-1 - 中间数 C语言代码实现(100分)
- CCF认证 - 201612-2 - 工资计算 C语言代码实现(100分)
- CCF认证 - 201609-2 - 火车购票 C语言代码实现(100分)
- CCF认证 - 201412-2 - Z字形扫描 (C语言代码实现)(100分)
- CCF认证 - 201409-1 - 相邻数对 (C语言代码实现)(100分)
- CCF认证 - 201409-2 - 画图 (C语言代码实现)(100分)
- CCF认证 - 201609-2 - 火车购票 C语言代码实现(90分)
- CCF认证 - 201512-2 -消除类游戏 (C语言代码实现)(90分)
- 201703-1 分蛋糕 CCF(Java代码实现)
- CCF认证 - 201403-1 - 相反数 (C语言实现)(100分)
- CCF认证 - 201503-2 - 数字排序 (C++代码实现)(100分)
- CCF认证 - 201604-2 - 俄罗斯方块 C语言代码实现 (90分)
- CCF认证 - 201709-2 - 公共钥匙盒 C++代码实现 (plus 详细注释)(100分)
- PAT 1080MOOC期终成绩的代码实现及错误分析(C语言)