2014年南海区青少年信息学奥林匹克竞赛c++试题(小学甲组)
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
NHOI2014 小学甲组题
2014 年南海区青少年信息学奥林匹克竞赛试题
(小学甲组)
注意事项:
1. 本次竞赛将使用评测系统进行自动评测,以源程序的测试结果为准。 2. 要利用文件严格按题目要求的格式(参考输入输出样例)进行输入输出,否则将被判为 错误而不得分。 3. 所有文件要按试卷指定的文件名命名,程序中不要使用绝对路径,否则将无法测试而被 判为 0 分。 4. 比赛结束前,要将最完善的源程序集中保存到以选手考号(字母用大写)加姓名命名的 文件夹中(例如:XJ372 陈才),该文件夹中不能再设子文件夹;同时还要在选手程序文件夹中建一 个文本文件“<姓名>程序清单.txt”,文件内容写清上交的程序文件名。 5. 现场编程 3 小时,每测试点时间限制 1 秒、内存限制 128M,每题 50 分,总分 300 分。 6. 各题程序及数据文件名规定:
第3页共5页
NHOI2014 小学甲组题
如果是你,你能解决吗? 输入格式:
输入数据有若干行。 第一行,有三个整数 N、M(1<=N、M<=1000)和 K(1<=K<=N),其中 N、M 分别表示 这个数字方阵中行数和列数。K 表示求数字方阵第 K 行的最长数字串长度。 接下来有 N 行,每行 M 个 0~9 的数字,每个数字间用一个空格隔开。 输出格式: 输出第 K 行的最长非零串的长度。 输入样例: 483 920034250 402303231 383290751 103100660 输出样例: 5
例如:
第2页共5页
NHOI2014 小学甲组题
2.966666... 缩写为 2.9(6) 35.232323…缩写为 35.(23) 楠楠发现,根据循环小数的特征,很快能算出这个循环小数中小数点后第 n 位的数 字,你能吗? 输入格式: 输入数据有两行。 第一行,输入一个整数 n(n<=100000),表示求小数点后的第 n 位。 第二行,一个字符串,用缩写法表示的一个循环小数。 输出格式: 输出一个整数,求出循环小数中小数点后第 n 位的数字。 输入样例 1: 10 352.19(7) 输出样例 1: 7 输入样例 2: 5 7328.(192) 输出样例 2: 9
第四题 数字方阵(matrix)
问题描述: 周末,爸爸妈妈带着楠楠去商场玩,正好碰上了商场在举办有奖竞答活动,而且根
据问题的难度不同,奖品的价值也有不同。聪明爱动脑的楠楠挑了一个难度最大的问题 来挑战自己。最后他赢得了丰厚的奖品和热烈的掌声。
这个问题是:在一个数字方阵中,随机放置了 0~9 的数字。我们把由数字 1~9 的组成的串称为非零串(不含 0 的数字串)。例如 02303230 ,这组数据中有 23 和 323 两种非零串。其中长度最长的非零串为 323。
3 (样例说明:只有学号为 5,6,3 共 3 位同学的位置发生了变化。)
第1页共5页
NHOI2014 小学甲组题
第二题 找 M 进制数(num)
问题描述: 在信息学课上,楠楠学习了进制数。 他知道了原来数不仅可以表示成十进制,还可以表示成二进制,八进制,十六进制,
甚至是二十进制,三十进制都可以。而且它们都有一个相同的运算规则:逢 M 进一,例 如:二进制逢二进一,八进制逢八进一。因此,M 进制数中每一位上的数可以用 0~M-1 来表示,即二进制数中只有 0 和 1 两种数字,八进制数中有 0,1,2…7 共八种数字。 但是若 M 大于 10 时,大于等于 10 的数字用大写字母表示,例如十六进制数中有 0,1, 2…9,A…F 共 16 种数字。
已知一个 N*M(1<=N,M<=1000)的数字方阵,求方阵第 k 行的最长非零串的长度。 如下图:在这个 4*8 的方阵中,第 2 行的最长非零串பைடு நூலகம்度为 3。
12034220 02303230 30320001 10310000 由于这个方阵太大了,很多人都不敢一试。这时候,楠楠拿出他的随身笔记本,编 了一个程序,瞬间就秒杀了它!
知道最终有多少个同学的位置发生了变化。
楠楠是个信息学高手,班主任把这个任务交给楠楠来完成。 输入格式:
第一行,输入一个整数 n(n<=100),表示有 n 个同学。
第二行,有 n 个整数,依次表示换位后的学号。 输出格式:
输出有多少个同学的位置发生了变化。 输入样例:
10 1 2 5 4 6 3 7 8 9 10 输出样例:
题号
第一题
第二题
第三题
试题名称
换座位 找 M 进制数 循环小数
程序文件名 seat.pas num.pas decimal.pas
第四题 数字方阵 matrix.pas
第五题 单纯质因
数 pprim.pas
第六题 安装饮水
机 post.pas
输入文件名 seat.in
num.in
decimal.in
matrix.in
pprim.in
post.in
输出文件名 seat.out num.out decimal.out matrix.out pprim.out post.out
第一题 换座位(seat)
问题描述: 期中考试结束了,班主任想给同学们重新安排座位,所以她让同学们按学号 1 至 n
的顺序依次在教室外排好队,然后在队伍中挑选一些同学来改变他们的位置。班主任想
第三题 循环小数(decimal)
问题描述: 数学课上,楠楠学习了一个新的知识。 两数相除,如果得不到整数商,会有两种情况:一种是得到有限小数,另一种是得
到无限小数。从小数点后某一位开始依次不断地重复出现前一个或一节数字的十进制无 限小数,叫做循环小数,如 2.9666..., (在数学中它读作“二点九六,六循环” ), 定 义循环小数的缩写法是将第一个循环节以后的数字全部略去,并将第一个循环节首末用 括号括起来。
现在老师给出 N 个任意进制数,要求统计出 N 个数中合法的 M 进数的个数。 输入格式:
输入数据有多行。 第一行,有两个整数 N(1<=N<=100000)和 M(2<=M<=36),分别表示任意进制数的个 数和 M 进制。 接下来有 N 行,每行一个由数字和大写字母构成的任意进制数,位数小于 50。 输出格式: 输出 N 个任意进制数中,合法的 M 进制数的个数。 输入样例: 5 16 102 AFF 5A 890 5S 输出样例: 4 样例解释:因为“5S”中“S”不是 16 进制数的合法数字,故只有 4 个合法的 16 进制数。
2014 年南海区青少年信息学奥林匹克竞赛试题
(小学甲组)
注意事项:
1. 本次竞赛将使用评测系统进行自动评测,以源程序的测试结果为准。 2. 要利用文件严格按题目要求的格式(参考输入输出样例)进行输入输出,否则将被判为 错误而不得分。 3. 所有文件要按试卷指定的文件名命名,程序中不要使用绝对路径,否则将无法测试而被 判为 0 分。 4. 比赛结束前,要将最完善的源程序集中保存到以选手考号(字母用大写)加姓名命名的 文件夹中(例如:XJ372 陈才),该文件夹中不能再设子文件夹;同时还要在选手程序文件夹中建一 个文本文件“<姓名>程序清单.txt”,文件内容写清上交的程序文件名。 5. 现场编程 3 小时,每测试点时间限制 1 秒、内存限制 128M,每题 50 分,总分 300 分。 6. 各题程序及数据文件名规定:
第3页共5页
NHOI2014 小学甲组题
如果是你,你能解决吗? 输入格式:
输入数据有若干行。 第一行,有三个整数 N、M(1<=N、M<=1000)和 K(1<=K<=N),其中 N、M 分别表示 这个数字方阵中行数和列数。K 表示求数字方阵第 K 行的最长数字串长度。 接下来有 N 行,每行 M 个 0~9 的数字,每个数字间用一个空格隔开。 输出格式: 输出第 K 行的最长非零串的长度。 输入样例: 483 920034250 402303231 383290751 103100660 输出样例: 5
例如:
第2页共5页
NHOI2014 小学甲组题
2.966666... 缩写为 2.9(6) 35.232323…缩写为 35.(23) 楠楠发现,根据循环小数的特征,很快能算出这个循环小数中小数点后第 n 位的数 字,你能吗? 输入格式: 输入数据有两行。 第一行,输入一个整数 n(n<=100000),表示求小数点后的第 n 位。 第二行,一个字符串,用缩写法表示的一个循环小数。 输出格式: 输出一个整数,求出循环小数中小数点后第 n 位的数字。 输入样例 1: 10 352.19(7) 输出样例 1: 7 输入样例 2: 5 7328.(192) 输出样例 2: 9
第四题 数字方阵(matrix)
问题描述: 周末,爸爸妈妈带着楠楠去商场玩,正好碰上了商场在举办有奖竞答活动,而且根
据问题的难度不同,奖品的价值也有不同。聪明爱动脑的楠楠挑了一个难度最大的问题 来挑战自己。最后他赢得了丰厚的奖品和热烈的掌声。
这个问题是:在一个数字方阵中,随机放置了 0~9 的数字。我们把由数字 1~9 的组成的串称为非零串(不含 0 的数字串)。例如 02303230 ,这组数据中有 23 和 323 两种非零串。其中长度最长的非零串为 323。
3 (样例说明:只有学号为 5,6,3 共 3 位同学的位置发生了变化。)
第1页共5页
NHOI2014 小学甲组题
第二题 找 M 进制数(num)
问题描述: 在信息学课上,楠楠学习了进制数。 他知道了原来数不仅可以表示成十进制,还可以表示成二进制,八进制,十六进制,
甚至是二十进制,三十进制都可以。而且它们都有一个相同的运算规则:逢 M 进一,例 如:二进制逢二进一,八进制逢八进一。因此,M 进制数中每一位上的数可以用 0~M-1 来表示,即二进制数中只有 0 和 1 两种数字,八进制数中有 0,1,2…7 共八种数字。 但是若 M 大于 10 时,大于等于 10 的数字用大写字母表示,例如十六进制数中有 0,1, 2…9,A…F 共 16 种数字。
已知一个 N*M(1<=N,M<=1000)的数字方阵,求方阵第 k 行的最长非零串的长度。 如下图:在这个 4*8 的方阵中,第 2 行的最长非零串பைடு நூலகம்度为 3。
12034220 02303230 30320001 10310000 由于这个方阵太大了,很多人都不敢一试。这时候,楠楠拿出他的随身笔记本,编 了一个程序,瞬间就秒杀了它!
知道最终有多少个同学的位置发生了变化。
楠楠是个信息学高手,班主任把这个任务交给楠楠来完成。 输入格式:
第一行,输入一个整数 n(n<=100),表示有 n 个同学。
第二行,有 n 个整数,依次表示换位后的学号。 输出格式:
输出有多少个同学的位置发生了变化。 输入样例:
10 1 2 5 4 6 3 7 8 9 10 输出样例:
题号
第一题
第二题
第三题
试题名称
换座位 找 M 进制数 循环小数
程序文件名 seat.pas num.pas decimal.pas
第四题 数字方阵 matrix.pas
第五题 单纯质因
数 pprim.pas
第六题 安装饮水
机 post.pas
输入文件名 seat.in
num.in
decimal.in
matrix.in
pprim.in
post.in
输出文件名 seat.out num.out decimal.out matrix.out pprim.out post.out
第一题 换座位(seat)
问题描述: 期中考试结束了,班主任想给同学们重新安排座位,所以她让同学们按学号 1 至 n
的顺序依次在教室外排好队,然后在队伍中挑选一些同学来改变他们的位置。班主任想
第三题 循环小数(decimal)
问题描述: 数学课上,楠楠学习了一个新的知识。 两数相除,如果得不到整数商,会有两种情况:一种是得到有限小数,另一种是得
到无限小数。从小数点后某一位开始依次不断地重复出现前一个或一节数字的十进制无 限小数,叫做循环小数,如 2.9666..., (在数学中它读作“二点九六,六循环” ), 定 义循环小数的缩写法是将第一个循环节以后的数字全部略去,并将第一个循环节首末用 括号括起来。
现在老师给出 N 个任意进制数,要求统计出 N 个数中合法的 M 进数的个数。 输入格式:
输入数据有多行。 第一行,有两个整数 N(1<=N<=100000)和 M(2<=M<=36),分别表示任意进制数的个 数和 M 进制。 接下来有 N 行,每行一个由数字和大写字母构成的任意进制数,位数小于 50。 输出格式: 输出 N 个任意进制数中,合法的 M 进制数的个数。 输入样例: 5 16 102 AFF 5A 890 5S 输出样例: 4 样例解释:因为“5S”中“S”不是 16 进制数的合法数字,故只有 4 个合法的 16 进制数。