信息学竞赛一枚举.docx
- 文档编号:27447245
- 上传时间:2023-07-01
- 格式:DOCX
- 页数:12
- 大小:61.24KB
信息学竞赛一枚举.docx
《信息学竞赛一枚举.docx》由会员分享,可在线阅读,更多相关《信息学竞赛一枚举.docx(12页珍藏版)》请在冰豆网上搜索。
信息学竞赛一枚举
0.数字反转
(reverse.cpp/c/pas)
【问题描述】
给定一个整数,请将该数各个位上数字反转得到一个新数。
新数也应满足整数的常见形式,即除非给定的原数为零,否则反转后得到的新数的最高位数字不应为零(参见样例2)。
【输入】
输入文件名为reverse.in。
输入共1行,一个整数N。
【输出】
输出文件名为reverse.out。
输出共1行,一个整数,表示反转后的新数。
【输入输出样例1】
reverse.inreverse.out
123321
【输入输出样例2】
reverse.inreverse.out
-380-83
【数据范围】
-1,000,000,000≤N≤1,000,000,000。
1.吉祥数(jxs)
【问题描述】如果一个正整数是8的倍数,并且该数中包含数字8,但不包含数字4,那么我们称该数为吉祥数。
【输入格式】输入文件为jxs.in
只有一行且只有一个正整数:
n
【输出格式】输出文件为jxs.out
只有一行且只有一个正整数:
闭区间[1,n]中吉祥数的个数。
【输入样例】
10
【输出样例】
1
【数据规模】
100%的数据:
1<=n<=10000000内存<=2560KB时间<=1秒
2.三角形问题(sjx)
【问题描述】输入绳子的长度n,将该绳子分成三段,每段长度为正整数,输出由该三段绳子组成的三角形个数。
【输入格式】输入文件为sjx.in
只有一行且只有一个正整数:
n
【输出格式】输出文件为sjx.out
只有一行且只有一个正整数:
可以构成的三角形个数
【输入样例】
7
【输出样例】
2
【数据规模】
100%的数据:
1<=n<=32000内存<=2560KB时间<=1秒
3.解方程(jfc.pas)
【问题描述】三元三次方程:
x3+y3=z2
请编程求出指定范围内的正整数解的个数。
【输入格式】输入文件为jfc.in
只有一行且只有一个正整数:
n表示1<=x,y,z<=n
【输出格式】输出文件为jfc.out
只有一行且只有一个正整数:
不同的正整数解的个数
【输入样例】
5
【输出样例】
3
【数据规模】
100%的数据:
1<=n<=3000内存<=2560KB时间<=1秒
4.扫雷(mine)
【题目描述】
Windows中的扫雷游戏是大家都熟悉的小游戏,今天,味味也设计了一个简易的扫雷游戏。
味味设计的扫雷游戏功能如下:
1.程序一开始会读入扫雷区域大小n,表示游戏区域有n*n个小方格组成,接下来会读入n行信息,每行有n个整数(每个整数可能是0,也可能是1),每两个整数之间用一个空格分隔。
其中0所在位置表示该小方格内没有地雷,1所在位置表示该小方格内有地雷(游戏开始时,扫雷区域中必定包含至少一个地雷)。
接下来每行输入两个用空格分开的正整数i和j,每一行的一对i和j表示用户用鼠标单击扫雷区域中第i行第j列位置上的小方格(就象我们使用Windows中扫雷游戏一样),i和j表示的位置必定在扫雷区域内。
程序每输入一对i和j,就马上进行相应的处理(就象我们在Windows中鼠标单击某个小方块就会出现结果一样)。
2.程序将根据读入的一组i和j的值来对扫雷区域作相应处理,具体的处理规则如下:
(1)如果i和j表示的小方格内没有地雷、而且也没有被处理过(就是第i行第j列的数值是0),那么将以该小方格为中心的一个正方形区域内所有没有地雷的小方格都赋值为-1(表示该区域的地砖已经被掀开了)。
如果在当前正方形区域内有一个位置号为i1和j1(注意:
i1<>i并且j1<>j)的小方格内恰好有地雷,则此地雷就被顺利扫除,将该位置标记为-2。
如果该正方形区域内某些小方格已经被处理过,则对这些小方格不再做任何处理。
举个例子来说明一下,假如输入信息如下左边所示,那么处理结果就如下右边所示:
(2)如果i和j表示的小方格已经被处理过(就是第i行第j列的数值是-1或者是-2),那么不作任何处理,继续去读取下一行的i和j的值。
(3)如果i和j表示的小方格刚好有地雷,并且该小方格没有被处理过(就是第i行第j列的数值是1),那么表示用户触雷,马上输出信息“GAMEOVER!
”,程序结束。
3.如果在读入i和j的过程中一直没有触雷,那么就一直按照位置信息处理下去,直到满足下列条件之一,就输出相应信息并结束程序:
(1)读入的i和j的值都是0(表示用户不再在某个小方格内单击鼠标右键了),则输出处理后整个扫雷区域的状态(就是输出n行n列的方阵,每行中两个整数之间用一个空格分隔,末尾没有多余空格),然后程序结束。
(2)如果某次处理完后,游戏区域内所有的地雷都被扫除了,那么不必再读入下一行的信息,输出信息“YOUAREWINNER!
”,程序结束。
【输入】
输入文件名为mine.in。
第一行一个整数n(n<=50),接下来是一个n*n的方阵。
再接下来是若干行,每行空格分隔的两个整数,表示i和j,以00结束。
【输出】
输出文件名为mine.out。
包含一行,可能输出“YOUAREWINNER!
”,可能输出“GAMEOVER!
”,也可能输出一个处理后的方阵。
【输入样例1】
6
000000
001000
100010
000000
010001
000000
11
34
55
46
52
23
00
【输出样例1】GAMEOVER!
【输入样例2】
6
000000
001000
100010
000000
010001
000000
11
34
55
46
23
00
【输出样例2】
-1-10000
-1-1-2-1-10
10-1-1-20
00-1-1-1-1
010-1-1-2
000-1-1-1
【2012年初中试题】
5.取珠子(pearl)
味味妈妈有一串珠子串成的项链,这个项链中的珠子最多有3种颜色(红、蓝、白,分别用r、b、w表示)。
某天,味味想从妈妈项链中取出一些珠子来玩,妈妈虽然答应了,但提出了以下条件:
(1)只能在项链中选择一个地方剪断,然后从断开的两端开始依次取出珠子;
(2)每一端取珠子时,如果珠子颜色与该端第一颗珠子颜色相同则可以连续取下去,直到出现一颗与该端第一颗颜色不同的珠子。
如果遇到白色珠子则可根据需要看做蓝色或者红色。
味味对于颜色并没有特殊要求,但她想得到尽可能多的珠子。
为方便表示,我们给项链中的珠子按顺时针方向编号,如图-1和图-2所示为两种可能的项链情况(珠子都有11颗)。
对于图-1来说,如果在1和2号珠子之间剪断,则味味可以取到共2颗珠子。
而如果在6和7号珠子之间剪断,则味味可以取到共5颗珠子(左边取3颗红色r,右边取2颗蓝色b),而5颗珠子也是味味从这串项链中最多可以取到的珠子数量。
对于图-2中的项链来说,如果在1和2号珠子之间剪断,则共可取走4颗珠子(将1号珠子当做蓝色,这样左边可取3颗,右边可取1颗蓝色b)。
而如果在2和3号之间剪断,则共可取走6颗珠子(将1号珠子当做蓝色,这样左边可取4颗蓝色b,右边可取2颗红色r)。
【输入】
输入文件pearl.in共包含二行。
第一行一个整数n,表示项链中珠子的总数。
第二行为一串长度为n的字符,由字符r,b,w组成。
表示项链从某个珠子开始按顺时针方向展开的珠子排列情况(当然,这个珠子并不一定是味味实际需要剪断的位置)。
【输出】
输出文件pearl.out仅包含一行一个数值,表示按照妈妈的规则,味味最多能得到的珠子数量。
【样例输入1】
11
wbrrbbwbrbb
【样例输出1】
6
【输入输出样例1解释】假设输入字符串中第一个字符表示1号珠子将1号珠子看成蓝色,则在2和3号珠子之间剪断,味味可得到的6颗珠子编号分别为1、2、3、4、10、11;也可在4和5号珠子间剪断,将7号珠子看成蓝色,则味味可得到珠子的编号为3、4、5、6、7、8。
【样例输入2】
11
bbbbrbbbbrw
【样例输入输出2】
6
【数据范围】
对于60%的数据3≤n≤100
对于100%的数据3≤n≤350
【2012年小学试题】
6.奇奇数(jjs)
【问题描述】如果一个正质数k,它的每一位数码均为奇数,那么我们称质数k为奇奇数。
【输入格式】输入文件为jjs.in
只有一行且只有一个正整数:
n
【输出格式】输出文件为jjs.out
只有一行且只有一个非负整数:
闭区间[1,n]中奇奇数的个数。
【输入样例】
20
【输出样例】
7
【数据规模】
100%的数据:
1<=n<100000000内存<=5000KB时间<=1秒
7.积木(block)
味味有一个A×B×C的长方体积木,积木是有1×1×1的小积木块组成的。
我们设定这个长方体的高为A,宽为B,长为C。
(为方便起见,长方体的长不一定要比宽的数值大)。
现在味味在这个长方体中的的左上角挖去了一个(A-1)×(B-2)×(C-2)的小长方体。
并且告诉你被挖去长方体的体积为n,即n=(A-1)×(B-2)×(C-2)。
现在问你,被挖去小长方体后,原有长方体积木中剩下的1×1×1的小积木块最少和最多分别是多少个。
也就是说,在告诉你n值的前提下,求min{A×B×C-n}和max{A×B×C-n}。
【输入】
输入文件名为block.in。
输入共1行,仅一个正整数n。
【输出】
输出文件名为block.out。
输出共1行包含两个用空格隔开的正整数,依次表示最少剩余小积木块和最多剩余小积木块个数。
【输入样例1】
4
【输出样例1】
2841
样例1说明:
4=(2-1)×(4-2)×(4-2)最少剩余的小积木块为2×4×4-4=28(此时A,B,C值分别为2,4,4)
4=(5-1)×(3-2)×(3-2)最多剩余的小积木块为5×3×3-4=41(此时A,B,C值分别为5,3,3)
【输入输出样例2】
7
【输入输出样例2】
4765
【数据范围】
对于20%的数据1≤n≤400对于50%的数据1≤n≤106
对于100%的数据1≤n≤109【2012年初中试题】
8.猜数字(guess)
【问题描述】
味味最近在玩猜数字的游戏,现在她也希望你来玩一下这个游戏。
猜数字游戏的规则是这样的,告诉你一个正整数n(2<=n<=11),然后味味心中会想一个n个数字组成的数字串(数字串最前面若干位可能是0)。
味味会随意排列n位数上的数字,这样可能产生n!
个n位数。
(n!
=1×2×3×4×5×…×n,n!
念作“n阶乘”).
比如味味想了一个三位数abc,那么一共会产生六个三位数,分别为
abc,acb,bac,bca,cab,cba
然后味味会把这n!
个n位数求和得到S(若某数第一位开始有若干个0,则求和时这些0舍去。
如有数“0123”,则求和时加到s中的值是123),她会告诉你总和S减去她心中想的那个数的值,请你猜出味味心中想的那个数。
【输入】
输入文件guess.in共包含两行。
第一行一个整数n(含义如前面所述),第二行一个正整数S,表示n!
个数的总和减去味味心中那个数的值。
【输出】
输出文件change.out共一行一个数,表示味味心中想的那个n位数(测试数据保证存在唯一解)。
如果该数第一位开始有若干个0,则输出时这些0也必须输出(详见样例3)。
【输入样例1】
3
1209
【输出样例1】
123
【输入输出样例1解释】
如果味味心中想的是123,则S=123+132+213+231+312+321-123=1209符合要求。
【输入样例2】
4
45440
【输出样例2】
1222
【输入输出样例2解释】
如果味味心中想的是1222,则
S=1222+1222+1222+1222+1222+1222+2122+2122+2122+2122+2122+2122+2212+2212+2212+2212+2212+2212++2221+2221+2221+2221+2221+2221-1222=45440符合要求。
【输入样例3】
2
90
【输出样例3】
09
【输入输出样例3解释】
如果味味心中想的是09,则S=09+90-09=9+90-9=90,符合要求。
【数据范围】
对于20%的数据n≤3
对于60%的数据n≤5
对于100%的数据2≤n≤11,0≤S≤1018
【2012年小学试题】
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 信息学 竞赛 枚举