最新慈溪市小学生计算机程序设计竞赛复赛试题(定稿)
宁波市第25届中小学生计算机程序设计竞赛复赛试题(小学组)

中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1. 折纸(folding)【题目描述】小猪上幼儿园的时候,报名参加了折纸兴趣小组。
他表现出了极大的热情,折出了n件折纸作品。
他的作品只有3种,分别是长方形、正方形和三角形。
小猪很想知道他的n件折纸的周长之和。
【输入】输入文件folding.in的第一行只有一个整数n,表示共有n件作品。
接下来n行,每行有若干个以空格分隔的整数,表示一件作品的情况。
其中第一个整数k (k=1或2或3),表示小猪制作的这件作品的类型,1表示长方形,2表示正方形,3表示三ab c三边长度分别为a,b,c的三角形,周长为a+b+c 相邻边长度分别为a和b的长方形,周长为2a+2bb形,周长为4aaa角形。
如果k为1,后面会跟二个正整数a和b,表示长方形的二条相邻边的长度分别为a和b;如果k为2,后面会跟一个正整数a,表示正方形的四条边的长度均为a。
如果k为3,后面会跟三个正整数a、b和c,表示三角形三条边的长度分别为a、b和c(输入数据保证a,b,c能构成三角形,不需验证)。
【输出】输出文件folding.out中仅有一行,该行只有一个整数,表示所有作品的周长之和。
【样例输入】31 2 32 43 6 7 8【样例输出】47【样例说明】共有3件作品:第一件作品:二条相邻边长度分别为2和3的长方形;第二件作品:边长为4的正方形;第三件作品:三条边长度分别为6、7、8的三角形。
编程竞赛考试题库及答案

编程竞赛考试题库及答案1. 问题描述编写一个函数,该函数接收一个整数数组和一个目标值,找出数组中和为目标值的两个数的索引,并返回一个包含这两个索引的数组。
2. 输入格式输入包含两行,第一行为数组的长度 \( n \),第二行为 \( n \) 个整数,以空格分隔。
3. 输出格式输出一行,包含两个整数,用空格分隔,表示和为目标值的两个数的索引(索引从0开始)。
4. 样例输入42 7 11 155. 样例输出1 36. 问题分析此问题可以通过一次遍历数组,并使用哈希表记录每个元素的索引来解决。
遍历数组时,对于每个元素,计算目标值与当前元素的差值,然后在哈希表中查找是否存在该差值。
如果存在,则返回当前元素的索引和差值对应的索引。
7. 算法实现```pythondef two_sum(nums, target):hash_map = {}for i, num in enumerate(nums):difference = target - numif difference in hash_map:return [hash_map[difference], i]hash_map[num] = ireturn []```8. 测试用例- 输入: [3, 2, 4], 6- 输出: [1, 2]9. 注意事项- 如果数组中不存在两个数的和等于目标值,则返回空数组。
- 确保索引从0开始计数。
- 考虑数组中可能存在重复元素的情况。
10. 扩展问题如果数组中存在多个满足条件的数对,如何返回所有可能的数对索引?。
宁波市第26届中小学生计算机程序设计竞赛复赛试题(小学组)-副本

宁波市第26届中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1.斯诺克(snooker)题目描述镇海中学开设了很多校本选修课程,有体育类、音乐类、美术类、无线电测向、航空航海航天模型制作等,力争使每位学生高中毕业后,能学到一门拿得出手的兴趣爱好,为将来的终身发展打下基础。
在体育类的校本选修课程中,有一门课程是斯诺克台球。
斯诺克台球比赛中有21个球,其中有15个红球,6个彩球(黄、绿、棕、蓝、粉、黑)。
甲乙二人轮流打球。
打一个红球得1分,打一个彩球的得分如下:黄球:2分;绿球:3分;棕球:4分;蓝球:5分;粉球:6分;黑球:7分;最后以得分高者为胜。
简化后的打球规则如下:1.如果有红球,第奇数次必须打红球,打过的红球从桌面上拿走;2.每打一个红球后,可以任意选一个彩球打,打红球后接着打的彩球不从桌面上拿走;3. 如果桌面上已经没有红球可打了,那么按照分值从小到大的次序打彩球,这时候每打一个彩球都从桌面上拿走。
打球时犯规的判罚如下:1. 没有打中球,给对方加4分;2.没有按照打球规则打该打的球,即打中了错误的球时:(1)如果这个错误的球的分值大于4,那么给对方加等于这个球的分值;(2)如果这个错误的球的分值不大于4,那么给对方加4分;打中的错误球不从桌面上拿走。
请统计某局比赛进行到现在为止的比分。
输入输入文件snooker.in的第一行有二个整数n和m,表示甲打了n个球,乙打了m个球。
慈溪市小学生计算机程序设计竞赛复赛试题定稿

2012年慈溪市小学生计算机程序设计比赛复赛试题比赛时间:2012年12月23日上午8:30—10:30题目概览注意事项1.每位选手都应先在E盘根目录下建立自己的答卷文件夹,该文件夹的名称为自己的考号;2.选手最终所提交的所有文件都必须存放在自己的考生文件夹中,凡错放及以书面形式提交的答卷一律视作无效;3.每题提交的解答都必须包括以下二个文件,即源程序文件和经编译后生成的可执行文件,其名称必须与各题中所规定的相一致;4.程序中必须采用文件读写的方法来实现数据的输入和结果的输出,即程序运行时所需输入数据应从题中指定的输入文件中读取(而不得采用键盘输入的方式),程序运行的结果应写入到题中指定的文件中(而不是输出到屏幕上)。
5.用于提供输入数据和记录输出结果的文件的名称都已在题中具体规定,选手程序在调用它们时不得为其指定任何特别的路径。
6.复赛用机房电脑C盘和D盘均已设置成开机还原保护,选手切勿把程序存放在C盘和D 盘中,否则如果重新开机后程序将不复存在。
7.比赛结束后请不要关机。
1.统计成绩(score.pas/exe)【问题描述】每次考试或测试后,老师们都要进行成绩统计。
假如某次期末考试有语文、数学、英语三门课,现请你编程输出总成绩最高分以及每门学科的最高分。
【输入数据】输入文件score.in:输入从文件中读取,输入共n+1行。
第1行是一个正整数n(1≤n≤100),表示学生人数,从1到n编号。
接下来n行,每行3个整数,依次表示每个学生的语文、数学、英语成绩(每门课成绩是0到100之间的整数,包括0和100)。
【输出数据】输出文件score.out:结果输出到文件中,输出共1行,包含4个整数,分别表示三门课总成绩最高分,语文学科的最高分,数学学科的最高分,英语学科的最高分。
【样例解释】输入3个学生成绩,第1个学生语文、数学、英语三门课的成绩分别为80,67,96,第2个学生语文、数学、英语三门课的成绩分别为88,71,93,第3个学生语文、数学、英语三门课的成绩分别为90,95,80。
xx市xx中小学生计算机程序设计竞赛复赛试题(小学组)

宁波市第22届中小学生计算机程序设计竞赛复赛试题(小学组)宁波市第 25 届中小学生计算机程序设计竞赛复赛试题第 1 页共 5 页宁波市第22届中小学生计算机程序设计竞赛复赛试题题目一览试题名称英文代号程序名最小数 min /c/cpp 等式 equal /c/cpp 128 MB 1秒旅行 travel /c/cpp 128 MB 1秒输入文件名输出文件名内存限制时限 128 MB 1秒关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关,也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1.最小数(min)题目描述给定一个正整数n,请去掉其中的m个数字,使其剩下的数字按原先从左到右的相对次序组成一个新数,但该新数的值必须尽可能的小。
【输入】输入文件中只有一行,共2个整数,分别是n和m的值,中间用一个空格分隔。
【输出】输出文件中只有一行,该行只有一个整数,它是从n中去掉m个数字后所能得到的最小新数。
样例输入1宁波市计算机学会,20XX宁波市第 25 届中小学生计算机程序设计竞赛复赛试题第 2 页共 5 页456547 1 样例输出145547样例输入2456547 3样例输出2447样例输入31003 1样例输出33【数据限制】本题共有10组测试数据,每组10分,共100分。
50%的数据,10≤n≤*10^9,另外50%的数据n不超过240位。
所有的数据m的值都小于n的位数。
宁波市计算机学会,20XX宁波市第 25 届中小学生计算机程序设计竞赛复赛试题第 3 页共 5 页2. 等式(equal)题目描述有一个未完成的等式:1 2 3 4 5 6 7 8 9=N当给出整数N的具体值后,请你在2,3,4,5,6,7,8,9这8个数字的每一个前面,或插入一个运算符号“+”号,或插入一个运算符号“-”号,或不插入任何运算符号,使等式成立,并统计出能使等式成立的算式总数,若无解,则输出0。
宁波市第26届中小学生计算机程序设计竞赛复赛试题(小学组)-副本

宁波市第26届中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1.斯诺克(snooker)题目描述镇海中学开设了很多校本选修课程,有体育类、音乐类、美术类、无线电测向、航空航海航天模型制作等,力争使每位学生高中毕业后,能学到一门拿得出手的兴趣爱好,为将来的终身发展打下基础。
在体育类的校本选修课程中,有一门课程是斯诺克台球。
斯诺克台球比赛中有21个球,其中有15个红球,6个彩球(黄、绿、棕、蓝、粉、黑)。
甲乙二人轮流打球。
打一个红球得1分,打一个彩球的得分如下:黄球:2分;绿球:3分;棕球:4分;蓝球:5分;粉球:6分;黑球:7分;最后以得分高者为胜。
简化后的打球规则如下:1.如果有红球,第奇数次必须打红球,打过的红球从桌面上拿走;2.每打一个红球后,可以任意选一个彩球打,打红球后接着打的彩球不从桌面上拿走;3. 如果桌面上已经没有红球可打了,那么按照分值从小到大的次序打彩球,这时候每打一个彩球都从桌面上拿走。
打球时犯规的判罚如下:1. 没有打中球,给对方加4分;2.没有按照打球规则打该打的球,即打中了错误的球时:(1)如果这个错误的球的分值大于4,那么给对方加等于这个球的分值;(2)如果这个错误的球的分值不大于4,那么给对方加4分;打中的错误球不从桌面上拿走。
请统计某局比赛进行到现在为止的比分。
输入输入文件snooker.in的第一行有二个整数n和m,表示甲打了n个球,乙打了m个球。
小学生程序设计复赛练习题

小学生程序设计复赛练习题小学生程序设计比赛练习题 1. 幸运数字(/c/cpp) 【问题描述】今年圣诞节,小明收到了很多礼物,每个礼物上都有一个数字,表示对小明的祝福。
可是小明有自己的想法,对小明来说,4或者7的倍数是幸运数字。
现在,小明想要知道所有数字中幸运数字之和是多少?请你帮帮小明!Sheryl gōngchéng zài quánguó de Brada ruǎnjiàn gōngsī. Tā de gōngzuò shì kāifā Windows cāozuò xìtǒng. Zài Brada bǎoshǒu de ràng rén nányǐ zhìxìn. Tāmen shènzhì cónglái méiyǒu shǐyòng de túxíng xiǎnshìqì! Yīncǐ,Sheryl de cāozuò xìtǒng yùnxíng zài wénběn móshì hé zài yóu zìfú zǔchéng de xìtǒng chuāngkǒu. Sheryl juédìng, měi gè chuāngkǒu dōu yǒu yīgè ID, zhè shì yīgè zīběn yīngwén zìmǔ (‘yī’dào’Z’). Yóuyúměi gè chuāngkǒu yǒu yīgè wéi yī de ID, bùnéng yǒu chāoguò 26 gè chuāngkǒu zài tóngyī shíjiān. Rú nǐ suǒ zhī, suǒyǒu de Windows shì chángfāngxíng. Zài zhè zhǒng chǒulòu de Windows xìtǒng de píngmù, chuāngkǒu de kuàngjià yǐ jīběn xíngchéng yóu tā de ID xìn. Tú 1 xiǎnshì, zhǐyǒu píngmù shàng de yīgè chuāngkǒu, gāi chuāngkǒu de ID shì’A’. Windows kěnéng huì chóngdié. Tú- 2 xiǎnshì chuāngkǒu de qíngkuàng B duì chuāngkǒu a. Hé tú- 3 de dǐng bù shì tígōng le gèng fùzá de chóngdié. Dāngrán, rúguǒ yīgè chuāngkǒu de mǒu xiē bùfèn shì yóu qítā chuāngkǒu zhē zhù, nǐ bùnéng zài píngmù shàng kàn dào de bùfèn. 字典- 查看字典详细内容【输入】第一行一个整数n,表示小明收到了n份圣诞礼物。
中小学生计算机程序设计竞赛复赛试题(小学组)

中小学生计算机程序设计竞赛复赛试题(小学组)题目一览关于竞赛中不同语言使用限制的说明一.关于使用Pascal语言与编译结果的说明1.对于Pascal语言的程序,当使用IDE和fpc编译结果不一致时,以fpc的编译结果为准。
2.允许使用数学库(uses math子句),以及ansistring。
但不允许使用编译开关(最后测试时pascal的范围检查开关默认关闭:{$R-,Q-,S-}),也不支持与优化相关的选项。
3.本次比赛允许使用64位整数类型:int64或qword。
1.甜蜜的烦恼(space)题目描述【问题描述】最近珍珍学会了使用电脑,她发现可以利用电脑解决很多事情,并且效率会快许多。
比如,在一份名单中找某个人的姓名,在以前,她得依次逐个查找,速度慢又很容易看错。
现在,她使用菜单命令:“编辑”-“查找”(或按Ctrl+F键),在弹出的查找对话框中,输入要查找的姓名,电脑就会找到要找的姓名或告诉你不存在你要找的姓名了。
真是又快又准,太爽了!今天珍珍在查找时,输入“张明”,电脑告诉她不存在,但她不经意间发现“张明”是有的!原来,提供原始名单的人,为了格式漂亮在中间输入了一个空格,因此电脑找不到了。
她想这容易解决,继续查找“李达”,没有?查找“李达”(中间一个空格),还没有?原来某些姓名中间的空格数是有多个的!珍珍想删除所有姓名中间的空格,但由于名单很多,一个一个删除太慢了,所以她找到了会编程解决问题的你,请你写一个程序,删除所有名单中间的空格。
输入【输入】输入文件space.in的第一行只有一个正整数n,表示名单中共有n个人的姓名。
第二行至第n+1行共n行,每行是一个人的姓名(由大小写英文字母以及字母之间的空格组成)。
输出【输出】输出文件space.out有n+1行,第一行只有一个正整数,表示总共删除的空格数。
第二行至第n+1行共n行,每行表示一个删除空格后的姓名(按照输入姓名的次序)。
样例输入【样例输入】3ZhangMingLi DaWu Ya Fei样例输出【样例输出】5ZhangMingLiDaWuYaFei提示【数据限制】100%的数据,1≤n≤10000,每行姓名的字符数不超过100。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2012年慈溪市小学生计算机程序设计比赛
复赛试题
比赛时间:2012年12月23日上午8:30—10:30
题目概览
注意事项
1.每位选手都应先在E盘根目录下建立自己的答卷文件夹,该文件夹的名称为自己的考号;2.选手最终所提交的所有文件都必须存放在自己的考生文件夹中,凡错放及以书面形式提交的答卷一律视作无效;
3.每题提交的解答都必须包括以下二个文件,即源程序文件和经编译后生成的可执行文件,其名称必须与各题中所规定的相一致;
4.程序中必须采用文件读写的方法来实现数据的输入和结果的输出,即程序运行时所需输入数据应从题中指定的输入文件中读取(而不得采用键盘输入的方式),程序运行的结果应写入到题中指定的文件中(而不是输出到屏幕上)。
5.用于提供输入数据和记录输出结果的文件的名称都已在题中具体规定,选手程序在调用它们时不得为其指定任何特别的路径。
6.复赛用机房电脑C盘和D盘均已设置成开机还原保护,选手切勿把程序存放在C盘和D 盘中,否则如果重新开机后程序将不复存在。
7.比赛结束后请不要关机。
1.统计成绩(score.pas/exe)
【问题描述】
每次考试或测试后,老师们都要进行成绩统计。
假如某次期末考试有语文、数学、英语三门课,现请你编程输出总成绩最高分以及每门学科的最高分。
【输入数据】
输入文件score.in:输入从文件中读取,输入共n+1行。
第1行是一个正整数n(1≤n≤100),表示学生人数,从1到n编号。
接下来n行,每行3个整数,依次表示每个学生的语文、数学、英语成绩(每门课成绩是0到100之间的整数,包括0和100)。
【输出数据】
输出文件score.out:结果输出到文件中,输出共1行,包含4个整数,分别表示三门课总成绩最高分,语文学科的最高分,数学学科的最高分,英语学科的最高分。
【输入输出样例】
【样例解释】
输入3个学生成绩,第1个学生语文、数学、英语三门课的成绩分别为80,67,96,第2个学生语文、数学、英语三门课的成绩分别为88,71,93,第3个学生语文、数学、英语三门课的成绩分别为90,95,80。
第3个学生的总成绩最高,为265。
语文学科的最高分是90分,数学学科的最高分95,英语学科的最高分96。
【数据范围约定】
所有的输入数据保证1≤n≤100,成绩在0到100分之间(包括0和100)。
2.最小的Y(miny.pas/exe)
【问题描述】
程序设计与数学密切相关,所以兴趣小组的辅导老师经常拿一些有趣的数学题来让大家思考。
一次课上,辅导老师又拿出了一个有趣的数学问题,题目是这样的:给你两个正整数x和z,求最小的整数y,使得x×y以后再除以z的余数为0。
比如x=3,z=6,求最小的y。
题目一出,马上有同学说:最小的y是0。
老师说:是的,非常厉害,最小的y是0。
那最小的正整数y是多少呢?
【输入数据】
输入文件miny.in:输入从文件中读取,输入共1行,两个正整数,分别表示x和z (1≤x≤2147483647, 1≤z≤2147483647)。
【输出数据】
输出文件miny.out:结果输出到文件中,输出共1行,表示使得x×y以后再除以z的
余数为0的最小的正整数y。
【输入输出样例】
【样例解释】
3×2=6,再除以6余数为0,且2最小。
【数据范围约定】
对于50%的数据,1≤x, z≤100000。
对于100%的数据,1≤x, z≤2147483647。
3.书架(bookshelf.pas/exe)
【问题描述】
为了方便同学们查阅资料,程序设计兴趣小组的辅导老师打算将积攒了很多年的n本书放到上课教室的书架上去。
教室的书架是一层一层叠起来的,每一层最多可以放m本书。
每一层的高度由放在这层中最高的那本书决定的,如果不放书,则认为这层的高度为0。
为了使每个同学能方便地拿到想要的书,书架的总高度应尽可能低。
请编程计算将这n本书放在书架上后书架的最小总高度,计算的过程中不考虑书的厚度与书架本身材料的厚度。
【输入数据】
输入文件bookshelf.in:输入从文件中读取,输入共n+1行。
第1行2个整数n和m (1≤m≤n≤100000) 。
接下来n行,每行1个正整数,分别表示每本书的高度(每本书的高度不超过100)。
【输出数据】
输出文件bookshelf.out:结果输出到文件中,输出共1行,表示将n本书放入书架后书架的最小总高度。
将高度是30和20的两本书放在一层,则这层的高度为30,将高度是10的那本书放在另外一层,则这层的高度为10,则书架的总高度为40,满足最小。
【数据范围约定】
每本书的高度为不超过100的正整数。
对于70%的数据,1≤m≤n≤1000。
对于100%的数据,1≤m≤n≤100000。
4.偶数字符串(string.pas/exe)
【问题描述】
对字符串的处理与操作是程序设计中永恒的主题之一,也是一项很重要的基本功。
你对字符串熟悉吗?
给你n(1≤n≤20)个字符串(1≤字符串长度≤2000),所有的字符串中最多包含‘A’到‘N’这14种大写字母。
从中选取若干个字符串,使得被选取的字符串中出现的每种字母总数均为偶数,请编程计算最多可以选取多少个字符串?
【输入数据】
输入文件string.in:输入从文件中读取,输入共n+1行。
第1行一个整数n,表示共有多少个字符串。
接下来n行,每行一个无序的字符串,字符串中最多包含‘A’到‘N’这14种大写字母(不考虑行末回车等不可见字符)。
【输出数据】
输出文件string.out:结果输出到文件中,输出共1行,表示最多可以选取的字符串数目。
【输入输出样例1】
【样例1解释】
输入样例1中的2个字符串不管如何选择都不能保证每种字母加起来都是偶数。
【输入输出样例2】
【样例2解释】
选取输入中的两个“AD”字符串,使得A有2个,D也有2个,都是偶数。
【样例3解释】
选取“A”、“BA”、“B”3个字符串能使‘A’和‘B’的个数都为偶数,但选取的字符串个数仅为3,不是最多。
选取输入中的“AD”、“BA”、“B”、“D”4个字符串,使得‘A’、‘B’、‘D’的总个数均为偶数且选取的字符串总数为4,满足个数最多。
【数据范围约定】
对于50%的数据,1≤n≤15,1≤字符串长度≤200,且字符串中最多包含‘A’到‘G’7种不同字母。
对于100%的数据,1≤n≤20,1≤字符串长度≤2000,且字符串中最多包含‘A’到‘N’14种不同字母。