【题解】均分蛋糕
【题目描述】
小明今天生日,他有n块蛋糕要分给朋友们吃,这n块蛋糕(编号为1到n)的重量分别为a1, a2, …, an。小明想分给每个朋友至少重量为k的蛋糕。小明的朋友们已经排好队准备领蛋糕,对于每个朋友,小明总是先将自己手中编号最小的蛋糕分给他,当这个朋友所分得蛋糕的重量不到k时,再继续将剩下的蛋糕中编号最小的给他,直到小明的蛋糕分完或者这个朋友分到的蛋糕的总重量大于等于k。
请问当小明的蛋糕分完时,总共有多少个朋友分到了蛋糕。
【输入描述】
输入的第一行包含了两个整数n, k,意义如上所述。
第二行包含n个正整数,依次表示a1, a2, …, an。
【输出描述】
输出一个整数,表示有多少个朋友分到了蛋糕。
【样例输入】
6 9 2 6 5 6 3 5
【样例输出】
3
【样例说明】
第一个朋友分到了前3块蛋糕,第二个朋友分到了第4、5块蛋糕,第三个朋友分到了最后一块蛋糕。
【数据范围】
对于所有测评用例,1<=n<=1000, 1<=k<=10000, 1<=ai<=1000。
【题解】01串
【题目描述】
Fans是个ACM程序设计迷。有时侯,他表现出很强烈的逆反心理,你往东,他往西,你往南,他偏往北。这一次,不知道又是谁惹着他了,好端端的一个个01串,到了他的手里,都变成10串了。请你编个程序来模仿他的行为,将01串(长度≤200),全变成10串吧。
【输入描述】
0110100100100 1000000010000000000
【输出描述】
1001011011011 0111111101111111111
【样例输入】
0110100100100 1000000010000000000
【样例输出】
1001011011011 0111111101111111111
【C++图形化编程】播放背景音乐
【题解】车辆管理
【题目描述】
交通管理局长氓氓现在需要一个管理汽车的系统,每一辆汽车都有许多信息需要去记录。 首先,每一辆汽车都有一个独一无二的车牌号 S,车牌号由 7 个字符组成。 然后,对于每一辆车要记录它的排量 V 和载重 W,是两个不大于 100 的正整数。 接着,记录车主人的信息,有两种方式(每一辆车只选一种):记录车主的名字(不超过 20 位的字符串),或者记 录车主的家庭电话号码(8 位数字,无前导零)。 最后,按照记录的顺序,每一辆车有一个唯一的编号 id,从 1 开始。 在输入所有车的信息之后,会有多次询问。 每一次询问为以下 3 种中的一种:
1、查询车牌。读入车的编号,查询车牌号并输出。
2、查询车主信息。读入车牌号,查询车主人的信息并输出。如果是名字则输出名字,否则输出电话号码。
3、查询排量与载重之比(V/W)大于等于某一个正整数 k 的车有多少辆。读入 k,输出有多少辆。 现在这个任务交给你来完成。
【输入描述】
第 1 行:一个整数 n(1<=n<=100),表示汽车的总数。
第 2~n+1 行:每一行格式如下: S V W typ name/phone 其中 S 表示车牌号,V、W 表示排量和载重,typ=0 或 1,其中 typ=0 表示记录的车主信息是名字,typ=1 表示记 录的车主信息是电话号码,最后输入名字或者电话号码。 第 n+2 行:一个整数 Q(1<=Q<=100),表示询问的个数。
第 n+3~n+Q+2 行: 每行第一个数字 op 表示询问的种类。 op=1 时,接下来读入车的编号 id。 op=2 时,接下来读入车牌号 S。 op=3 时,接下来读入一个正整数 k。
【输出描述】
对于每一个询问输出一行。 op=1 时,输出车牌号。 op=2 时,输出车主人的信息。 op=3 时,输出一个数表示有多少辆车的排量与载重之比大于 k。
【样例输入】
5 NH12345 3 1 0 OIer BJ54321 5 2 1 87654321 GD18323 2 3 0 Dreamer GD22121 4 3 0 ACer NH99999 10 3 1 12345678 5 1 3 2 GD22121 3 3 1 5 2 BJ54321
【样例输出】
GD18323 ACer 2 NH99999 87654321
【数据范围】
【题解】画百钱买百鸡
【题解】人民币问题
【题目描述】
给出任意的人民币(>10 元)的整币兑换成 5 元、2 元和 1 元币值(要求三种币值均有)的方法有多少种。
【输入描述】
输入任意的人民币(>10 元)的整币 100,50,20,10
【输出描述】
计算出兑换成 5 元、2 元和 1 元币值(要求三种币值均有)的方法有多少种
【样例输入】
50
【样例输出】
106
【数据范围】
【题解】公式成绩
【题目描述】
学校的期中考试到了。 gp 老师一共收集到 n 个学生的成绩,每个学生有 5 科成绩,分别是语文、数学、英语、政治、历史。(ai,bi,ci,di,ei) gp 老师突发奇想,他用 m 条公式来评价学生的成绩,也就是说,每条公式都单独评价一个指定的学生。 公式的形式为 Mark=kj1*ai+kj2*bi+kj3*ci+kj4*di+kj5*ei 现在 gp 老师懒得计算,他把这个任务交给了你,请你按照数据给出的 m 条公式,分别计算出 m 个指定的学生 对应的分数(mark)值。
【输入描述】
第 1 行为 n,m。
第 2~ n+1 行,每行有五个正整数 ai,bi,ci,di,ei,分别为五科成绩
第 n+2 ~n+1+m 行,每行有六个整数 ki1,ki2,ki3,ki4,ki5,pi,分别为公式的系数和第 pi 个学生
【输出描述】
一行 m 个数,分别为 m 条公式对应学生的分数值
【样例输入】
3 2 1 2 3 4 5 5 8 2 1 3 4 2 9 3 5 3 2 1 0 5 2 1 2 3 4 5 1
【样例输出】
48 55
【数据范围】
n<=1000 ai,bi,ci,di,ei<=1000 -1000<=ki<=1000 保证所有数据都是整数
【题解】奇偶校验
【题目描述】
奇偶校验(Parity Check)是一种校验代码传输正确性的方法。根据被传输的一组二进制代码的数位中“1”的个数 是奇数或偶数来进行校验。采用奇数的称为奇校验,反之,称为偶校验。现在给定 n 组二进制数据,判断每组是什 么校验方式。
【输出描述】
第一行 n,表示有 n 组数据。后面跟着 n 行,每行是一组二进制数据。
【输出描述】
n,输出对应的是什么校验方式。
【样例输入】
3 1010101 01000100 1
【样例输出】
偶校验 偶校验 奇校验
【数据范围】
无