加载中…
个人资料
徐于铃
徐于铃
  • 博客等级:
  • 博客积分:0
  • 博客访问:3,517
  • 关注人气:32
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

2018年海淀区青少年程序设计思维挑战活动普及组试题

(2019-03-29 18:40:07)
分类: 信息学奥赛

2018 年海淀区青少年程序设计思维挑战活动

普及组试题(每题 100 分,共 600 分)

 

答题要求:

(1) 答题统一在 windows 系统下使用 DEVC++5.11 版本编程环境;

(2) 在计算机D 盘根目录下创建一个以自己考号为文件名的文件夹。如:D:\PJ-866

(3) 各题最后写好的源文件,按照题目规定的文件名存入上述文件夹中。

如:D:\PJ-866(注意每个人的文件夹名字丌一样啊,因为每个人的考号丌同)

2018年海淀区青少年程序设计思维挑战活动普及组试题chimney.cpp ky.cpp me.cpp nt.cpp

 

 

 

 

(4) 各题的输入输出均采用文件读写。关于文件读写的提示(已会的可以忽略

文件读写的核心语句为:freopen(“*.in”, “r”,stdin);

freopen(“*.out”, “w”,stdout);

(5) 各题的输入输出文件名不源文件的文件名仅仅是扩展名丌同。源文件的扩展名为.cpp(每道题仅仅提交源文件

输入文件的扩展名为“.in” 输出文件的扩展名为“.out”

(6) 答案提交:

完成作答后,提交自己创建的整个文件夹,该文件夹仅仅包含各题的源文件,不能包含子文件夹,或其它任何文件。

切记:答案严格按照题目要求命名。有疑问及时举手询问监考老师。


 

题目描述:

1、拆烟囱(chimney.cpp


南水北调中线工程起点位于汉江中上游湖北十堰的丹江口水库,供水区域为河南河北北京天津四个省(市。为了更好地保护水源,湖北省十堰市关闭了大量可能污染水源的工厂,工厂停产关闭后,拆迁绿化也是一项重大的工程。按照工程的进度,现在某工厂的 n 个大烟囱需要尽快拆掉,这项任务自然就落给了著名的飞虎爆破队,因为专业高效,他们的任务非常多,能留给这项拆迁工程的时间只有 x 天,然后要去执行更紧急的任务。我们知道飞虎爆破队拆掉一个烟囱需要 y 小时,问:在飞虎爆破队转移到其它工程时,这 n 个烟囱还剩多少个没有动拆?提醒:爆破队需要撤离时,即使正在施工的那个烟囱没有完工也要立即停下。他们因为分工合理,每天 24 小时作业不会有间歇。

输入格式:

仅一行,包含三个正整数,分别为 n,x 和 y,两两之间用一个空格分隔。

输出格式:

仅包含一个整数,表示还未动拆的烟囱个数。

 

样例输入: 10 2 7

样例输出: 3

数据范围:0 < n,x,y < 1000 000 000

 

 

 

 

 


 

 

题目描述:

2、幸运数(lucky.cpp


擅长数学的小明,游戏中都忘不了各种有趣的数学应用。新年联欢会上,为了增加活动的趣味性,他给与会者每人发放一个数 K(不超过 9 作为这名参与者的编号,联欢会有一个环节,主持人会在所有编号的集合中随机抽取 n 个, 代表这n 个编号的与会者均可参加一次抽奖,如果代表与会者的数K 是个幸运数, 则可增加一次抽奖机会,因为奖品丰厚,所有与会者都希望有抽奖机会,而且越多越好(没有人会放弃抽奖机会。小明给出的幸运数的定义是:主持人在抽奖之前先给一个数字 m小于 10 的正整数,如果 K 既能被 m 整除,又至少包含一个数字 m,则该数 K 就是一个幸运数。你的任务是编程统计出该晚会上总共会有多少人次参加抽奖。


输入格式:

第一行包含两个正整数 n  m,两数间用一个空格分隔。接下来的 n 行每行仅有一个数 K,表示主持人抽取的 n 个有抽奖资格的与会者编号。

输出格式:

仅包含一个整数,表示晚会上总共参与抽奖的人次。

 

样例输入: 5 6

123

162

142

156

185

样例输出: 7

数据范围:0 < n < 1000 000,0 < K < 1000 000 000

 

 

 

 

 

 

 

 


 

 

题目描述:

3、最大公共素因子(prime.cpp


给定两个正整数 m  n,请你求出 m  n 的最大公共素数因子 k,如果不存在素数因子则输出 0。最大公共素数因子指的是在 m  n 的质数公约数中,最大的那一个。

输入格式:

仅一行包含两个正整数 m 和 n,两数间用一个空格分隔。

输出格式:

仅包含一个整数 k。

 

样例输入:46 69 样例输出:23

数据范围:0 < m,n < 1000 000 000


 

 

题目描述:

4、统计公共数(count.cpp


给定一个包含 n 个整数的数列{An}和包含 m 个不重复整数的数列{Bm},输出既包含于{An}也包含于{Bm}的整数的个数 K。

输入格式: 4 行,第 1 行仅包含一个正整数 n, 2 行包含 n 个整数 Ai,两两

之间用一个空格分隔,第 3 行仅包含一个正整数 m,第 4 行包含 m 个整数 Bi,两两之间用一个空格分隔。

输出格式:仅包含一个整数 K。

样例输入:5

1 2 3 4 5

3

3 4 1

样例输出:3

数据范围:0 < n <= 10000, 0 < m <= 500, 0 <= Ai, Bi <= 109

 

 

 

 


 

 

题目描述:

5、统计公共数(cnt.cpp


给定一个包含 n 个整数的数列{An}和包含 m 个不重复整数的数列{Bm},{An} 中的元素按升序排列,输出既包含于{An}也包含于{Bm}的整数的个数 K。

输入格式: 4 行,第 1 行仅包含一个正整数 n, 2 行包含 n 个整数 Ai,两两

之间用一个空格分隔,第 3 行仅包含一个正整数 m,第 4 行包含 m 个整数 Bi,两两之间用一个空格分隔。

输出格式:仅包含一个整数 K。

样例输入:5

1 2 3 4 5

3

3 4 1

样例输出3

数据范围:0 < n <= 100 000, 1 < m <= 50 000, 0 <= Ai, Bi <= 109

 

特别提醒:第 4 题和第 5 题题目描述相同,但测试数据的范围不同, 5 题最终的测试数据中 m  n 的值都很大啊!


 

 

题目描述:

6、查词典(dictionary.cpp


请实现一个能执行以下命令的简易“字典”

insert str:向字典中添加字符串 str

find str::当前字典中包含 str 时输出 yes,不包含时输出 no

输入格式:

1 行中输入命令数 n,随后 n 行按顺序输入 n 个命令。命令格式如上。

输出格式:

对于各 find 命令输出 yes 或 no,每个输出占 1 行。

样例输入:6

insert AAA insert AAC find AAA find CCC insert CCC find CCC

样例输出:

yes no yes

数据范围:

输入的字符串仅由“A”,“C”,“G”,“T”四种字母构成 1 <= 字符串长度 < 10,1 < n <= 10000。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有