CCF考试练习——201703-1
来源:互联网 发布:网络电影丧尸李志开播 编辑:程序博客网 时间:2024/05/16 11:46
- 2017/8/28
没有错误,100分。但代码风格很差,可读性很低
原题目:
试题编号: 201703-1试题名称: 分蛋糕时间限制: 1.0s内存限制: 256.0MB问题描述: 问题描述 小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k。 请问当小明的蛋糕分完时,总共有多少个朋友分到了蛋糕。输入格式 输入的第一行包含了两个整数n, k,意义如上所述。 第二行包含n个正整数,依次表示a1, a2, …, an。输出格式 输出一个整数,表示有多少个朋友分到了蛋糕。样例输入6 92 6 5 6 3 5样例输出3样例说明 第一个朋友分到了前3块蛋糕,第二个朋友分到了第4、5块蛋糕,第三个朋友分到了最后一块蛋糕。评测用例规模与约定 对于所有评测用例,1 ≤ n ≤ 1000,1 ≤ k ≤ 10000,1 ≤ ai ≤ 1000。
代码:
#include<stdio.h>int main(){ int n,k; scanf("%d",&n); //n块蛋糕 scanf("%d",&k); //每块蛋糕的重量 int i = 0,j = 0; int num; int Num[1000]; int people = 0; int all = 0; for(;i < n;i++){ scanf("%d",&num); Num[i] = num;// printf("Num[%d] = %d\n",i,Num[i]); } for(;j < n;j++){ all = all + Num[j];// printf("all is %d\n",all); if((j == (n-1)) && all < k){ people = people + 1; } if(all >= k){ people = people + 1; all = 0; }// printf("people is %d\n",people); } printf("%d",people); return 0;}
阅读全文
0 0
- CCF考试练习——201703-1
- CCF考试练习——201703-2
- CCF考试练习——201612-1
- CCF考试练习——201509-1
- CCF考试练习——201612-2
- CCF考试——201703-1分蛋糕
- CCF考试——201703-2学生排队
- CCF考试——201703-3地铁修建
- CCF考试——201709-1打酱油
- CCF考试——201612-1中间数
- CCF考试——201609-1最大波动
- CCF考试——201604-1折点计数
- CCF试题练习201703-1
- CCF考试——201709-5除法
- CCF考试——201604-4游戏
- CCF考试——201709-2公共钥匙盒
- CCF考试——201709-4通信网络
- CCF考试——201612-4压缩编码
- 软件测试人员必备Linux命令(初、中、高级)
- 最全的sublime插件整理
- 二分查找(递归与非递归)
- POI--实现代码创建xls文档
- oracle中的exists 和not exists 用法
- CCF考试练习——201703-1
- jumpTip
- Trie (Prefix Tree) 前缀树
- IPAddress.Any
- ztree自定义图标实现方法
- 天网管理系统(反序列化问题)
- TP3.2安装Memcached扩展-安装及遇到的问题-以完成
- 1028. 人口普查(20)
- 用VirtuaBox虚拟机安装centos7参考资料链接