青少年编程知识记录 codecoming

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



作者:亿万年的星光 分类:题解目录 浏览:

2021年崂山区程序设计竞赛题(初中组)

2021年崂山区程序设计竞赛题(初中组)(比赛时间90分钟,试题满分300分)题目名称区间和区间位数的个数有序数组保存文件sumdigitarray输入文件名sum.indigit.inarray.in输出文件名sum.outdigit.outarray.out每个测试点时限1秒1秒1秒测试点数目202020每个测试点分值555附加样例文件有有有结果比较方式全文比较(过滤行末空格及文末回车)题目类型传统传统传统运行内存限制128M128M128M 说明:1、须以题目中规定的文件名进行保
作者:亿万年的星光 分类:题解目录 浏览:

【题解】转换的问题

【题目描述】

那么,问题来了:

输入一个十进制数N,将它转换成R进制数输出。

【输入描述】

输入数据包含多个测试实例,每个测试实例包含两个整数N(32位整数)和R(2<=R<=16, R<>10)。

【输出描述】

为每个测试实例输出转换后的数,每个输出占一行。如果R大于10,则对应的数字规则参考16进制(比如,10用A表示,等等)

【样例输入】

7 2  23 12  -4 3

【样例输出】

111  1B  -11
作者:亿万年的星光 分类:题解目录 浏览:

【题解】取余运算

【题目描述】

输入b,p,k的值,求bp mod k的值。其中b,p,k×k为长整型数。

【输入描述】

输入b,p,k的值。

【输出描述】

求 b^p mod k的值。

【样例输入】

2 10 9

【样例输出】

2^10 mod 9=7



作者:亿万年的星光 分类:题解目录 浏览:

【题解】神奇的fans

【题目描述】传说fans是一个数学天才。在他五岁那年,从一堆数字卡片中选出了4张 卡片:5,7,6,8。这4个数字有什么神秘之处呢?如果把这4张卡片自左往右的排成:5,6,7,8。你就会发现:原来这4个数字构成了等差数列!当年 fans选出了n组卡片,据说都能够构成等差数列。但是事实真的是这样吗?fans真的有这么神奇吗? n组数据就是fans选出的n组卡片,请你判断每一组卡片是否能构成等差数列.【输入描述】第一个数为数据的组数n,表示后面有n行,每行中的第一个数为该组数据的元素个数m(1≤m≤
作者:亿万年的星光 分类:题解目录 浏览:

【题解】电缆线(2019青岛市程序设计竞赛)

【问题描述】

在郊区有N座通信基站,P条双向电缆,第 i 条电缆连接基站 A_i 和 B_i。特别地,1号基站是通信公司的总站,N号基站位于一座农场中。现在,农场主希望对通信线路进行升级,其中升级第 i 条电缆需要花费 L_i。

电话公司正在举行优惠活动。农场主可以指定一条从1号基站到N号基站的路径,并指定路径上不超过K条电缆,由电话公司免费提供升级服务。农场主只需要支付在该路径上剩余的电缆中,升级价格最贵的那条电缆的花费即可。

求最少用多少钱能完成升级。

【输入】

第一行,3个空格隔开正整数N,P,K。

以下P行:每行是:Ai, Bi, Li

【输出】

最少的升级花费。

line.in

line.out

5 7 1

1 2 5

3 1 4

2 4 8

3 2 3

5 2 9

3 4 7

4 5 6

4

【数据范围】

30%的数据:1 ≤ N ≤ 50,1 ≤ P ≤ 200;

100%的数据:1 ≤ N ≤ 1,000;1 ≤ P ≤ 10,000;1 ≤ Li ≤ 1,000,000;0 ≤ K < N。

【来源】

2019年青岛市程序设计竞赛试题(初中组)4T

作者:亿万年的星光 分类:题解目录 浏览:

【题解】泥泞路(2019青岛市程序设计竞赛)

【题目描述】

大雨过后,从小A的农场到镇上的公路上有一些泥泞路段,为了方便出行,他决定将若干块长度为L的木板可以铺在这些泥泞路段上,问他至少需要多少块木板,才能将所有的泥泞路段覆盖住。

【输入】

第一行为正整数n(n≤10000)和L(L≤10000),分别表示有多少段泥泞路和木板的长度;接下来n行,每一行两个整数s和e(s≤e≤109),表示每一段泥泞路的起点和终点。

【输出】

仅一个正整数,表示使用的木板数。

【输出】

仅一个正整数,表示木板数。

【样例输入输出】

cover.in

cover.out

3 3

1 6

13 17

8 12

5

 

【数据范围】

60%的数据:n<=1000;

100%的数据:n<=100000,L<=10000, s≤e≤109

【来源】

2019年青岛市程序设计竞赛试题(初中组)3T

作者:亿万年的星光 分类:题解目录 浏览:

【题解】最大公约数(2019青岛市程序设计竞赛)

【问题描述】

给定n,以及正整数序列a1,a2,…,an与b1,b2,…,bn。

令:

sa=a1*a2*…*an

sb=b1*b2*…*bn

求sa和sb的最大公约数gcd(sa,sb)。

【输入】

第一行n。

第二行,序列a1,a2,…,an。两个数之间用空格隔开。

第三行,序列b1,b2,…,bn。两个数之间用空格隔开。

【输出】

sa和sb的最大公约数,结果%10007。

【输入输出样例】

gcd.in

gcd.out

3

12 15   70

20 75   49

2100

【数据范围】

测试点

n范围

ai,bi,sa,sb

1

1<=n<=5

1<=ai,bi<=10000;

sa,sb<109

2

3

4

10<=n<=100

1<=ai,bi<=10000;

sa,sb<10400

5

6

7

8

9

10





【来源】

2019年青岛市程序设计竞赛试题(初中组)2T

作者:亿万年的星光 分类:题解目录 浏览:

【题解】真分数(2019青岛市程序设计竞赛)

【描述】

真分数,指的是分子比分母小的分数,真分数的分数值小于1。

给出n个正整数,任取两个数分别作为分子和分母组成真分数。

求能组成多少不同值的真分数。

【输入】

第一行是一个正整数n。

第二行是n个不同的正整数ai,相邻两个整数之间用单个空格隔开。

【输出】

一个整数,即最简真分数组合的个数。

【样例输入输出】

fraction.in

fraction.out

4

1 2 3 4

5

 

    样例说明:共组成6个真分数:1/2,1/3,1/4,2/3,2/4,3/4。

但是这6个真分数有5个不同的值:1/2,1/3,1/4,2/3,3/4。因为1/2和2/4的值相同.

【数据范围】

100%的数据:1<=ai<=1000,n<=600。

【来源】

2019年青岛市程序设计竞赛试题(初中组)1T

作者:亿万年的星光 分类:题解目录 浏览:

【题解】上学线路(2019青岛市程序设计比赛)

 【题目描述】

D从家到学校的道路结构是这样的:由n条东西走向和m条南北走向的道路构成了一个n*m的网格,每条道路都是单向通行的(只能从北向南,从西向东走)。

已知小D的家在网格的左上角,学校在网格的右下角。

问小D从他的家到学校一共有多少种不同的上学路线?

【输入格式】

两个正整数n,m,意义如前所述。

【输出格式】

D上学路线数量。结果对1000000007取余。

【输入输出样例】

roud.in

roud.out

3 4

10

【数据规模和约定】

50%的数据:n,m<=20

100%的数据: n,m<=1000

【来源】

2019年青岛市程序设计竞赛试题(小学组)1T

作者:亿万年的星光 分类:题解目录 浏览: