【题解】区间数位个数
2.区间数位个数(digit.cpp)
【描述】
给定整数n和整数k,求出1~n中所有数的每一位数字中,出现数字k的次数。
【输入】
第一行是两个个整数n和k
【输出】
一个整数表示答案。
【样例输入输出】
light.in | light.out |
123456 5 | 58993 |
【数据范围】
60%的数据:n<=1e6,1<=k<=9
80%的数据:n<=1e12,1<=k<=9
【题解】区间和
1.区间和(sum.cpp)
【描述】
输入一个整数Q,进行Q次询问,每次给定两个整数l和r,每一次输出l~r中所有平方数的和 % 1000000007
【输入】
第一行是一个整数Q
后面的Q行每行有2个数字l和r
【输出】
Q行,每行一个整数。
【样例输入输出】
light.in | light.out |
2 2 10 3 100 | 13 384 |
【数据范围】
40%的数据:Q<=1000,l<=r<=1000。
80%的数据:Q<=1000,l<=r<=1e6。
100%的数据: Q<=1e6,l<=r<=1e6
【题解】最小新整数
4.最小新整数(smallest.cpp)
【题目描述】
假如:有一个十进制正整数n,每个数位上数字均不为0,并且0<n<1000000000。n的位数为m。先在从m位中删除k位(0<k<m),求生成的新整数最小为多少?
如:n=9128456,k=2,则生成的新整数最小为12456。
【输入描述】
第一行t,表示有t组数据;
接下来t行,每一行表示一组测试数据,每组测试数据包含两个数字n,k。
【输出描述】
t行,每行一个数字,表示从n行中删除k位后得到的最小整数。
【样例输入】
2 9128456 2 1444 3
【样例输出】
12456 1
【题解】放苹果(1)
【题目描述】
把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。
【输入】
第一行是测试数据的数目t(0≤t≤20)。以下每行均包含二个整数M和N,以空格分开。1≤M,N≤10。
【输出】
对输入的每组数据M和N,用一行输出相应的K。
【输入样例】
1 7 3
【输出样例】
8
【题解】航空母舰
3.航空母舰(aircraft.cpp)
【题目描述】
航空母舰(Aircraft Carrier),是一种以舰载机为主要作战武器的大型水面舰艇。依靠航空母舰,一个国家可以在远离其国土的地方、不依靠当地机场情况施加军事压力和进行作战。航空母舰已经是现代海军不可或缺的利器。也成为一个国家综合国力的象征。
假如,某国家有M艘相同的航空母舰,要把它们停放在N个相同的港口上,允许有的港口空着不用,问:共有多少种不同的停法(用K表示)?注意:5,1,1和1,5,1是同一种分法。
【输入描述】
第一行是测试数据数目t(0<=t<=20),以下每行均包含两个整数M和N,已空格分开。1<=M,N<=10。
【输出描述】
对输入的每组数据M和N,用一行输出相应的K。
【样例输入】
1 7 3
【样例输出】
8
【题解】直方图
直方图(histogram.cpp)
【题目描述】
给定一个非负整数数组,统计里面每一个数的出现次数。我们只统计到数组里面最大的数。
假设Fmax(Fmax<10000)是数组里最大的数,那么我们只统计{0,1,2...Fmax}里每个数出现的次数。
【输入描述】
第一行n个数组的大小,1<=n<=10000
紧接着一行是数组的n个元素。
【输出描述】
按顺序输出每个数的出现次数,一行一个数。如果没有出现,则输出0。对于例子中的数组,最大的数是3,因此我们只统计{0,1,2,3}的出现频数。
【样例输入】
5 1 1 2 3 1
【样例输出】
0 3 1 1
【题解】建设病房
1.建设病房(build.cpp)
【题目描述】
2020年1月23日下午,武汉市建设局紧急召集中建三局等单位举行专题会议,要求参照2003年抗击非典期间北京小汤山医院模式,在武汉职工疗养院建设火神山医院,集中收治新型冠状病毒肺炎患者。从1月25日正式开工到2月1日,7000余名建设者鏖战,与疫魔竞速,以精准狙击,8天实现关机节点。武汉火神山医院完工。2020年2月2日。武汉菜甸火神山医院正式交付。中国速度令世界惊叹。
现某医院需要增设n个病房,已知每x小时建设一个病房,假设在建设完一个病房完之前不会建设另外一个,那么经过y小时后还剩几个病房没有动工?
【输入描述】
输入仅一行,包括n,x和y(均为整数)。
【输出描述】
输出也仅一行,没动工的病房个数。
【样例输入】
10 4 9
【样例输出】
7
2021年市南区程序设计竞赛(小学组)
1.建设病房(build.cpp)
【题目描述】
2020年1月23日下午,武汉市建设局紧急召集中建三局等单位举行专题会议,要求参照2003年抗击非典期间北京小汤山医院模式,在武汉职工疗养院建设火神山医院,集中收治新型冠状病毒肺炎患者。从1月25日正式开工到2月1日,7000余名建设者鏖战,与疫魔竞速,以精准狙击,8天实现关机节点。武汉火神山医院完工。2020年2月2日。武汉菜甸火神山医院正式交付。中国速度令世界惊叹。
现某医院需要增设n个病房,已知每x小时建设一个病房,假设在建设完一个病房完之前不会建设另外一个,那么经过y小时后还剩几个病房没有动工?
【输入描述】
输入仅一行,包括n,x和y(均为整数)。
【输出描述】
输出也仅一行,没动工的病房个数。
【样例输入】
10 4 9
【样例输出】
7
2021年市北区程序设计竞赛试题(初中组)
1.开关灯(light.cpp)
【题目描述】
某实验室共有n盏灯,灯的编号为1~n,每盏灯的初始状态是关闭的。现在有m位学生,每位学生可以前去抽取一张带数字的卡片,其数字为Ai,然后依次将自己手中的数字卡片倍数编号的灯进行操作,开的灯将会被关闭,关闭的灯则会被重新打开,这个过程进行k轮后有多少盏灯最终状态为打开。
【输入描述】
第一行是三个整数n,m,k。
第二行是m个整数A
【输出描述】
一个整数,为最终为打开状态的灯的数量。
【样例输入】
10 10 1 1 2 3 4 5 6 7 8 9 10
【样例输出】
3
【样例解释】
第1位学生持有卡片上的数字为1,会把所有的灯都打开,第2位学生持有的卡片上数字为2,会把2的倍数的所有灯进行操作,开的灯将被关闭,关闭的灯则会重新打开,第3位~第10位同学依次按照这种方法操作,1轮结束后有3栈灯是打开的。
【数据范围】
80%的数据:1<=n<=1000,m<=1000,ai<=n
100%的数据:1<=n<=1000,m<=1000,ai<=n,k<=1000