信息学奥赛普及组洛谷适合刷的题_第1页
信息学奥赛普及组洛谷适合刷的题_第2页
信息学奥赛普及组洛谷适合刷的题_第3页
信息学奥赛普及组洛谷适合刷的题_第4页
信息学奥赛普及组洛谷适合刷的题_第5页
已阅读5页,还剩98页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、洛谷网站适合刷的题P1001 A+B Problem 题目描述输入两个整数a,b,输出它们的和(|a|,|b|=109)。注意 1、pascal使用integer会爆掉哦!2、有负数哦!3、c/c+的main函数必须是int类型,而且最后要return 0。这不仅对洛谷其他题目有效,而且也是noip/noi比赛的要求!好吧,同志们,我们就从这一题开始,向着大牛的路进发。“任何一个伟大的思想,都有一个微不足道的开始。”输入输出格式输入格式:两个整数以空格分开输出格式:一个数输入输出样例输入样例#1:20 30输出样例#1:50P1002 过河卒题目描述棋盘上A点有一个过河卒,需要走到目标B点。卒

2、行走的规则:可以向下、或者向右。同时在棋盘上C点有一个对方的马,该马所在的点和所有跳跃一步可达的点称为对方马的控制点。因此称之为“马拦过河卒”。棋盘用坐标表示,A点(0, 0)、B点(n, m)(n, m为不超过20的整数),同样马的位置坐标是需要给出的。现在要求你计算出卒从A点能够到达B点的路径的条数,假设马的位置是固定不动的,并不是卒走一步马走一步。输入输出格式输入格式:一行四个数据,分别表示B点坐标和马的坐标。输出格式:一个数据,表示所有的路径条数。输入输出样例输入样例#1:6 6 3 3输出样例#1:6说明结果可能很大!P1007 独木桥题目背景战争已经进入到紧要时间。你是运输小队长,

3、正在率领运输部队向前线运送物资。运输任务像做题一样的无聊。你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们。士兵们十分愤怒,因为这座独木桥十分狭窄,只能容纳一个人通过。假如有两个人相向而行在桥上相遇,那么他们两个人将无妨绕过对方,只能有一个人回头下桥,让另一个人先通过。但是,可以有多个人同时呆在同一个位置。题目描述突然,你收到从指挥部发来的信息,敌军的轰炸机正朝着你所在的独木桥飞来!为了安全,你的部队必须撤下独木桥。独木桥的长度为L,士兵们只能呆在坐标为整数的地方。所有士兵的速度都为1,但一个士兵某一时刻来到了坐标为0或L+1的位置,他就离开了独木桥。每个

4、士兵都有一个初始面对的方向,他们会以匀速朝着这个方向行走,中途不会自己改变方向。但是,如果两个士兵面对面相遇,他们无法彼此通过对方,于是就分别转身,继续行走。转身不需要任何的时间。由于先前的愤怒,你已不能控制你的士兵。甚至,你连每个士兵初始面对的方向都不知道。因此,你想要知道你的部队最少需要多少时间就可能全部撤离独木桥。另外,总部也在安排阻拦敌人的进攻,因此你还需要知道你的部队最多需要多少时间才能全部撤离独木桥。输入输出格式输入格式:第一行:一个整数L,表示独木桥的长度。桥上的坐标为1L第二行:一个整数N,表示初始时留在桥上的士兵数目第三行:有N个整数,分别表示每个士兵的初始坐标。输出格式:只

5、有一行,输出两个整数,分别表示部队撤离独木桥的最小时间和最大时间。两个整数由一个空格符分开。输入输出样例输入样例#1:421 3输出样例#1:2 4说明初始时,没有两个士兵同在一个坐标。数据范围N=L=1000。P1008 三连击题目描述将1,2,9共9个数分成三组,分别组成三个三位数,且使这三个三位数构成1:2:3的比例,试求出所有满足条件的三个三位数。输入输出格式输入格式:木有输入输出格式:若干行,每行3个数字。按照每行第一个数字升序排列。输入输出样例输入样例#1:输出样例#1:192 384 576* * *.* * *(输出被和谐了)P1009 阶乘之和题目描述用高精度计算出S=1!+

6、2!+3!+n!(n50)其中“!”表示阶乘,例如:5!=5*4*3*2*1。输入输出格式输入格式:一个正整数N。输出格式:一个正整数S,表示计算结果。输入输出样例输入样例#1:3输出样例#1:9P1010 幂次方题目描述任何一个正整数都可以用2的幂次方表示。例如 137=27+23+20 同时约定方次用括号来表示,即ab 可表示为a(b)。由此可知,137可表示为: 2(7)+2(3)+2(0)进一步:7= 22+2+20 (21用2表示) 3=2+20 所以最后137可表示为: 2(2(2)+2+2(0)+2(2+2(0)+2(0)又如: 1315=210 +28 +25 +2+1所以13

7、15最后可表示为: 2(2(2+2(0)+2)+2(2(2+2(0)+2(2(2)+2(0)+2+2(0)输入输出格式输入格式:一个正整数n(n20000)。输出格式:符合约定的n的0,2表示(在表示中不能有空格)输入输出样例输入样例#1:1315输出样例#1:2(2(2+2(0)+2)+2(2(2+2(0)+2(2(2)+2(0)+2+2(0)P1015 回文数题目描述若一个数(首位不为零)从左向右读与从右向左读都一样,我们就将其称之为回文数。例如:给定一个10进制数56,将56加65(即把56从右向左读),得到121是一个回文数。又如:对于10进制数87:STEP1:87+78 = 165

8、 STEP2:165+561 = 726STEP3:726+627 = 1353 STEP4:1353+3531 = 4884在这里的一步是指进行了一次N进制的加法,上例最少用了4步得到回文数4884。写一个程序,给定一个N(2=N=10,N=16)进制数M(100位之内),求最少经过几步可以得到回文数。如果在30步以内(包含30步)不可能得到回文数,则输出“Impossible!”输入输出格式输入格式:两行,分别是N,M。输出格式:STEP=ans输入输出样例输入样例#1:1087输出样例#1:STEP=4P1020 导弹拦截题目描述某国为了防御敌国的导弹袭击,发展出一种导弹拦截系统。但是这

9、种导弹拦截系统有一个缺陷:虽然它的第一发炮弹能够到达任意的高度,但是以后每一发炮弹都不能高于前一发的高度。某天,雷达捕捉到敌国的导弹来袭。由于该系统还在试用阶段,所以只有一套系统,因此有可能不能拦截所有的导弹。输入导弹依次飞来的高度(雷达给出的高度数据是不大于30000的正整数),计算这套系统最多能拦截多少导弹,如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。输入输出格式输入格式:一行,若干个正整数最多100个。输出格式:2行,每行一个整数,第一个数字表示这套系统最多能拦截多少导弹,第二个数字表示如果要拦截所有导弹最少要配备多少套这种导弹拦截系统。输入输出样例输入样例#1:389 207

10、155 300 299 170 158 65输出样例#1:62P1021 邮票面值设计题目描述给定一个信封,最多只允许粘贴N张邮票,计算在给定K(N+K40)种邮票的情况下(假定所有的邮票数量都足够),如何设计邮票的面值,能得到最大值MAX,使在1MAX之间的每一个邮资值都能得到。例如,N=3,K=2,如果面值分别为1分、4分,则在1分6分之间的每一个邮资值都能得到(当然还有8分、9分和12分);如果面值分别为1分、3分,则在1分7分之间的每一个邮资值都能得到。可以验证当N=3,K=2时,7分就是可以得到的连续的邮资最大值,所以MAX=7,面值分别为1分、3分。输入输出格式输入格式:2个整数,

11、代表N,K。输出格式:2行。第一行若干个数字,表示选择的面值,从小到大排序。第二行,输出“MAX=S”,S表示最大的面值。输入输出样例输入样例#1:3 2输出样例#1:1 3MAX=7P1028 数的计算题目描述我们要求找出具有下列性质数的个数(包含输入的自然数n):先输入一个自然数n(n=1000),然后对此自然数按照如下方法进行处理:1.不作任何处理;2.在它的左边加上一个自然数,但该自然数不能超过原数的一半;3.加上数后,继续按此规则进行处理,直到不能再加自然数为止.输入输出格式输入格式:一个自然数n(n=1000)输出格式:一个整数,表示具有该性质数的个数。输入输出样例输入样例#1:6

12、输出样例#1:6说明满足条件的数为6,16,26,126,36,136P1029 最大公约数和最小公倍数问题题目描述输入二个正整数x0,y0(2=x0100000,2=y0=1000000),求出满足下列条件的P,Q的个数条件:1.P,Q是正整数2.要求P,Q以x0为最大公约数,以y0为最小公倍数.试求:满足条件的所有可能的两个正整数的个数.输入输出格式输入格式:二个正整数x0,y0输出格式:一个数,表示求出满足条件的P,Q的个数输入输出样例输入样例#1:3 60输出样例#1:4说明P,Q有4种3 60 15 12 12 15 60 3P1030 求先序排列题目描述给出一棵二叉树的中序与后序排

13、列。求出它的先序排列。(约定树结点用不同的大写字母表示,长度=8)。输入输出格式输入格式:2行,均为大写字母组成的字符串,表示一棵二叉树的中序与后序排列。输出格式:1行,表示一棵二叉树的先序。输入输出样例输入样例#1:BADCBDCA输出样例#1:ABCDP1035 级数求和题目描述已知:Sn= 112131n。显然对于任意一个整数K,当n足够大的时候,Sn大于K。现给出一个整数K(1=k=15),要求计算出一个最小的n;使得SnK。输入输出格式输入格式:一个正整数K。输出格式:一个正整数N。输入输出样例输入样例#1:1输出样例#1:2P1036 选数题目描述已知 n 个整数 x1,x2,xn

14、,以及一个整数 k(kn)。从 n 个整数中任选 k 个整数相加,可分别得到一系列的和。例如当 n=4,k3,4 个整数分别为 3,7,12,19 时,可得全部的组合与它们的和为:3712=2237192971219383121934。现在,要求你计算出和为素数共有多少种。例如上例,只有一种的和为素数:371929)。输入输出格式输入格式:键盘输入,格式为:n , k (1=n=20,kn)x1,x2,,xn (1=xi=5000000)输出格式:屏幕输出,格式为:一个整数(满足条件的种数)。输入输出样例输入样例#1:4 33 7 12 19输出样例#1:1P1037 产生数题目描述给出一个整

15、数 n(n1030) 和 k 个变换规则(k536上面的整数 234 经过变换后可能产生出的整数为(包括原数):234 534 264 564 共 4 种不同的产生数问题:给出一个整数 n 和 k 个规则。求出:经过任意次的变换(0次或多次),能产生出多少个不同整数。仅要求输出个数。输入输出格式输入格式:键盘输人,格式为:n k x1 y1 x2 y2 . .xn yn输出格式:屏幕输出,格式为:一个整数(满足条件的个数):输入输出样例输入样例#1:234 22 53 6输出样例#1:4P1042 乒乓球题目背景国际乒联现在主席沙拉拉自从上任以来就立志于推行一系列改革,以推动乒乓球运动在全球的

16、普及。其中11分制改革引起了很大的争议,有一部分球员因为无法适应新规则只能选择退役。华华就是其中一位,他退役之后走上了乒乓球研究工作,意图弄明白11分制和21分制对选手的不同影响。在开展他的研究之前,他首先需要对他多年比赛的统计数据进行一些分析,所以需要你的帮忙。题目描述华华通过以下方式进行分析,首先将比赛每个球的胜负列成一张表,然后分别计算在11分制和21分制下,双方的比赛结果(截至记录末尾)。比如现在有这么一份记录,(其中W表示华华获得一分,L表示华华对手获得一分):WWWWWWWWWWWWWWWWWWWWWWLW在11分制下,此时比赛的结果是华华第一局11比0获胜,第二局11比0获胜,正

17、在进行第三局,当前比分1比1。而在21分制下,此时比赛结果是华华第一局21比0获胜,正在进行第二局,比分2比1。如果一局比赛刚开始,则此时比分为0比0。直到分差大于或者等于2,才一局结束。你的程序就是要对于一系列比赛信息的输入(WL形式),输出正确的结果。输入输出格式输入格式:每个输入文件包含若干行字符串(每行至多20个字母),字符串有大写的W、L和E组成。其中E表示比赛信息结束,程序应该忽略E之后的所有内容。输出格式:输出由两部分组成,每部分有若干行,每一行对应一局比赛的比分(按比赛信息输入顺序)。其中第一部分是11分制下的结果,第二部分是21分制下的结果,两部分之间由一个空行分隔。输入输出

18、样例输入样例#1:WWWWWWWWWWWWWWWWWWWWWWLWE输出样例#1:11:011:01:121:02:1P1043 数字游戏题目描述丁丁最近沉迷于一个数字游戏之中。这个游戏看似简单,但丁丁在研究了许多天之后却发觉原来在简单的规则下想要赢得这个游戏并不那么容易。游戏是这样的,在你面前有一圈整数(一共n个),你要按顺序将其分为m个部分,各部分内的数字相加,相加所得的m个结果对10取模后再相乘,最终得到一个数k。游戏的要求是使你所得的k最大或者最小。例如,对于下面这圈数字(n=4,m=2):要求最小值时,(2-1) mod 10)(4+3) mod 10)=17=7,要求最大值时,为(

19、2+4+3) mod 10)(-1 mod 10)=99=81。特别值得注意的是,无论是负数还是正数,对10取模的结果均为非负值。丁丁请你编写程序帮他赢得这个游戏。输入输出格式输入格式:输入文件第一行有两个整数,n(1n50)和m(1m9)。以下n行每行有个整数,其绝对值不大于104,按顺序给出圈中的数字,首尾相接。输出格式:输出文件有两行,各包含一个非负整数。第一行是你程序得到的最小值,第二行是最大值。输入输出样例输入样例#1:4 243-12输出样例#1:781P1044 栈题目背景栈是计算机中经典的数据结构,简单的说,栈就是限制在一端进行插入删除操作的线性表。栈有两种最重要的操作,即po

20、p(从栈顶弹出一个元素)和push(将一个元素进栈)。栈的重要性不言自明,任何一门数据结构的课程都会介绍栈。宁宁同学在复习栈的基本概念时,想到了一个书上没有讲过的问题,而他自己无法给出答案,所以需要你的帮忙。题目描述宁宁考虑的是这样一个问题:一个操作数序列,从1,2,一直到n(图示为1到3的情况),栈A的深度大于n。现在可以进行两种操作,1.将一个数,从操作数序列的头端移到栈的头端(对应数据结构栈的push操作)1. 将一个数,从栈的头端移到输出序列的尾端(对应数据结构栈的pop操作)使用这两种操作,由一个操作数序列就可以得到一系列的输出序列,下图所示为由1 2 3生成序列2 3 1的过程。(

21、原始状态如上图所示)你的程序将对给定的n,计算并输出由操作数序列1,2,n经过操作可能得到的输出序列的总数。输入输出格式输入格式:输入文件只含一个整数n(1n18)输出格式:输出文件只有一行,即可能输出序列的总数目输入输出样例输入样例#1:3输出样例#1:5P1045 麦森数题目描述形如2P-1的素数称为麦森数,这时P一定也是个素数。但反过来不一定,即如果P是个素数,2P-1不一定也是素数。到1998年底,人们已找到了37个麦森数。最大的一个是P=3021377,它有909526位。麦森数有许多重要应用,它与完全数密切相关。任务:从文件中输入P(1000P3100000),计算2P-1的位数和

22、最后500位数字(用十进制高精度数表示)输入输出格式输入格式:文件中只包含一个整数P(1000P3100000)输出格式:第一行:十进制高精度数2P-1的位数。第2-11行:十进制高精度数2P-1的最后500位数字。(每行输出50位,共输出10行,不足500位时高位补0)不必验证2P-1与P是否为素数。输入输出样例输入样例#1:1279输出样例#1:3860000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001040793

23、219466439908192524032736408553861526224726670480531911235040360805967336029801223944173232418484242161395428100779138356624832346490813990660567732076292412950938922034577318334966158355047295942054768981121169367714754847886696250138443826029173234888531116082853841658502825560466622483189091880184

24、7068222203140521026698435488732958028878050869736186900714720710555703168729087P1046 陶陶摘苹果题目描述陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。输入输出格式输入格式:输入文件apple.in包括两行数据。第一行包含10个100到200之

25、间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。输出格式:输出文件apple.out包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。输入输出样例输入样例#1:100 200 150 140 129 134 167 198 200 111110输出样例#1:5说明NOIP2005普及组第一题P1047 校门外的树题目描述某校大门外长度为L的马路上有一排树,每两棵相邻的树之间的间隔都是1米。我们可以把

26、马路看成一个数轴,马路的一端在数轴0的位置,另一端在L的位置;数轴上的每个整数点,即0,1,2,L,都种有一棵树。由于马路上有一些区域要用来建地铁。这些区域用它们在数轴上的起始点和终止点表示。已知任一区域的起始点和终止点的坐标都是整数,区域之间可能有重合的部分。现在要把这些区域中的树(包括区域端点处的两棵树)移走。你的任务是计算将这些树都移走后,马路上还有多少棵树。输入输出格式输入格式:输入文件tree.in的第一行有两个整数L(1 = L = 10000)和 M(1 = M = 100),L代表马路的长度,M代表区域的数目,L和M之间用一个空格隔开。接下来的M行每行包含两个不同的整数,用一个

27、空格隔开,表示一个区域的起始点和终止点的坐标。输出格式:输出文件tree.out包括一行,这一行只包含一个整数,表示马路上剩余的树的数目。输入输出样例输入样例#1:500 3150 300100 200470 471输出样例#1:298说明NOIP2005普及组第二题对于20%的数据,区域之间没有重合的部分;对于其它的数据,区域之间有重合的情况。P1048 采药题目描述辰辰是个天资聪颖的孩子,他的梦想是成为世界上最伟大的医师。为此,他想拜附近最有威望的医师为师。医师为了判断他的资质,给他出了一个难题。医师把他带到一个到处都是草药的山洞里对他说:“孩子,这个山洞里有一些不同的草药,采每一株都需要

28、一些时间,每一株也有它自身的价值。我会给你一段时间,在这段时间里,你可以采到一些草药。如果你是一个聪明的孩子,你应该可以让采到的草药的总价值最大。”如果你是辰辰,你能完成这个任务吗?输入输出格式输入格式:输入文件medic.in的第一行有两个整数T(1 = T = 1000)和M(1 = M = 100),用一个空格隔开,T代表总共能够用来采药的时间,M代表山洞里的草药的数目。接下来的M行每行包括两个在1到100之间(包括1和100)的整数,分别表示采摘某株草药的时间和这株草药的价值。输出格式:输出文件medic.out包括一行,这一行只包含一个整数,表示在规定的时间内,可以采到的草药的最大总

29、价值。输入输出样例输入样例#1:70 371 10069 11 2输出样例#1:3说明对于30%的数据,M = 10;对于全部的数据,M = 100。NOIP2005普及组第三题P1049 装箱问题题目描述有一个箱子容量为V(正整数,0V20000),同时有n个物品(0n30,每个物品有一个体积(正整数)。要求n个物品中,任取若干个装入箱内,使箱子的剩余空间为最小。输入输出格式输入格式:一个整数,表示箱子容量一个整数,表示有n个物品接下来n行,分别表示这n 个物品的各自体积输出格式:一个整数,表示箱子剩余空间。输入输出样例输入样例#1:2468312797输出样例#1:0说明NOIp2001普

30、及组 第4题P1050 循环题目描述乐乐是一个聪明而又勤奋好学的孩子。他总喜欢探求事物的规律。一天,他突然对数的正整数次幂产生了兴趣。众所周知,2的正整数次幂最后一位数总是不断的在重复2,4,8,6,2,4,8,6我们说2的正整数次幂最后一位的循环长度是4(实际上4的倍数都可以说是循环长度,但我们只考虑最小的循环长度)。类似的,其余的数字的正整数次幂最后一位数也有类似的循环现象:循环 循环长度2 2、4、8、643 3、9、7、144 4、6 25 5 16 6 17 7、9、3、148 8、4、2、649 9、1 2这时乐乐的问题就出来了:是不是只有最后一位才有这样的循环呢?对于一个整数n的

31、正整数次幂来说,它的后k位是否会发生循环?如果循环的话,循环长度是多少呢?注意:1 如果n的某个正整数次幂的位数不足k,那么不足的高位看做是0。2 如果循环长度是L,那么说明对于任意的正整数a,n的a次幂和a + L次幂的最后k位都相同。输入输出格式输入格式:输入文件circle.in只有一行,包含两个整数n(1 = n 10100)和k(1 = k = 100),n和k之间用一个空格隔开,表示要求n的正整数次幂的最后k位的循环长度。输出格式:输出文件circle.out包括一行,这一行只包含一个整数,表示循环长度。如果循环不存在,输出-1。输入输出样例输入样例#1:32 2输出样例#1:4说

32、明对于30%的数据,k = 4;对于全部的数据,k = 100。NOIP2005普及组第四题P1055 ISBN号码(一级)题目描述每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”就是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔符后的五位数字代表该书在该出版社的编号;最后一位为识别码。识别码的计算方法

33、如下:首位数字乘以1加上次位数字乘以2以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,.,9,再求和,即01+62+29=158,然后取158 mod 11的结果4作为识别码。你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输出“Right”;如果错误,则输出你认为是正确的ISBN号码。输入输出格式输入格式:输入文件isbn.in只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISB

34、N号码的格式要求)。输出格式:输出文件isbn.out共一行,假如输入的ISBN号码的识别码正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。输入输出样例输入样例#1:0-670-82162-4输出样例#1:Right输入样例#2:0-670-82162-0输出样例#2:0-670-82162-4说明2008普及组第一题P1056 排座椅(二级)题目描述上课的时候总会有一些同学和前后左右的人交头接耳,这是令小学班主任十分头疼的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳。同学们在教室

35、中坐成了M行N列,坐在第i行第j列的同学的位置是(i,j),为了方便同学们进出,在教室中设置了K条横向的通道,L条纵向的通道。于是,聪明的小雪想到了一个办法,或许可以减少上课时学生交头接耳的问题:她打算重新摆放桌椅,改变同学们桌椅间通道的位置,因为如果一条通道隔开了两个会交头接耳的同学,那么他们就不会交头接耳了。请你帮忙给小雪编写一个程序,给出最好的通道划分方案。在该方案下,上课时交头接耳的学生的对数最少。输入输出格式输入格式:输入文件seat.in的第一行,有5个用空格隔开的整数,分别是M,N,K,L,D(2=N,M=1000,0=KM,0=LN,D=2000)。接下来的D行,每行有4个用空

36、格隔开的整数。第i行的4个整数Xi,Yi,Pi,Qi,表示坐在位置(Xi,Yi)与(Pi,Qi)的两个同学会交头接耳(输入保证他们前后相邻或者左右相邻)。输入数据保证最优方案的唯一性。输出格式:输出文件seat.out共两行。第一行包含K个整数,a1,a2aK,表示第a1行和a1+1行之间、第a2行和a2+1行之间、第aK行和第aK+1行之间要开辟通道,其中ai ai+1,每两个整数之间用空格隔开(行尾没有空格)。第二行包含L个整数,b1,b2bL,表示第b1列和b1+1列之间、第b2列和b2+1列之间、第bL列和第bL+1列之间要开辟通道,其中bi2-3-1和1-3-2-1,共2种。输入输出

37、格式输入格式:输入文件ball.in共一行,有两个用空格隔开的整数n,m(3=n=30,1=m=30)。输出格式:输出文件ball.out共一行,有一个整数,表示符合题意的方法数。输入输出样例输入样例#1:3 3输出样例#1:2说明40%的数据满足:3=n=30,1=m=20100%的数据满足:3=n=30,1=m=302008普及组第三题P1058 立体图(四级)题目描述小渊是个聪明的孩子,他经常会给周围的小朋友们将写自己认为有趣的内容。最近,他准备给小朋友们讲解立体图,请你帮他画出立体图。小渊有一块面积为m*n的矩形区域,上面有m*n个边长为1的格子,每个格子上堆了一些同样大小的积木(积木

38、的长宽高都是1),小渊想请你打印出这些格子的立体图。我们定义每个积木为如下格式,并且不会做任何翻转旋转,只会严格以这一种形式摆放:每个顶点用1个加号+表示,长用3个”-”表示,宽用1个”/”,高用两个”|”表示。字符+,”-”,”/”,”|”的ASCII码分别为43,45,47,124。字符.(ASCII码46)需要作为背景输出,即立体图里的空白部分需要用.来代替。立体图的画法如下面的规则:若两块积木左右相邻,图示为:若两块积木上下相邻,图示为:若两块积木前后相邻,图示为:立体图中,定义位于第(m,1)的格子(即第m行第1列的格子)上面自底向上的第一块积木(即最下面的一块积木)的左下角顶点为整

39、张图最左下角的点。输入输出格式输入格式:输入文件drawing.in第一行有用空格隔开的2个整数m和n,表示有m*n个格子(1=m,n=50)。接下来的m行,是一个m*n的矩阵,每行有n个用空格隔开的整数,其中第i行第j列上的整数表示第i行第j列的个子上摞有多少个积木(1=每个格子上的积木数=100)。输出格式:输出文件drawing.out中包含题目要求的立体图,是一个K行L列的字符串矩阵,其中K和L表示最少需要K行L列才能按规定输出立体图。输入输出样例输入样例#1:3 42 2 1 22 2 1 13 2 1 2输出样例#1:.+-+-+.+-+.+-+ / /|./ /|./ /|-+-

40、+ |.+-+ |+-+ |/ /| +-| | +| | +-+ |/+-+ |/| |/ /| +/ /|-+ |+-+-+ |/+-+ |/| +| | | +-| | + |/.| | |/ | |/| +.+-+-+-+-+ |/.| | | | | +.| | | | |/.+-+-+-+-+.说明NOIP2008普及组第四题P1059 明明的随机数(一级)题目描述明明想在学校中请一些同学一起做一项问卷调查,为了实验的客观性,他先用计算机生成了N个1到1000之间的随机整数(N100),对于其中重复的数字,只保留一个,把其余相同的数去掉,不同的数对应着不同的学生的学号。然后再把这些

41、数从小到大排序,按照排好的顺序去找同学做调查。请你协助明明完成“去重”与“排序”的工作。输入输出格式输入格式:输入有2行,第1行为1个正整数,表示所生成的随机数的个数:N 第2行有N个用空格隔开的正整数,为所产生的随机数。输出格式:输出也是2行,第1行为1个正整数M,表示不相同的随机数的个数。第2行为M个用空格隔开的正整数,为从小到大排好序的不相同的随机数。输入输出样例输入样例#1: 10 20 40 32 67 40 20 89 300 400 15输出样例#1: 8 15 20 32 40 67 89 300 400说明NOIP 2006 普及组 第一题P1060 开心的金明(二级)题目描

42、述金明今天很开心,家里购置的新房就要领钥匙了,新房里有一间他自己专用的很宽敞的房间。更让他高兴的是,妈妈昨天对他说:“你的房间需要购买哪些物品,怎么布置,你说了算,只要不超过N元钱就行”。今天一早金明就开始做预算,但是他想买的东西太多了,肯定会超过妈妈限定的N元。于是,他把每件物品规定了一个重要度,分为5等:用整数15表示,第5等最重要。他还从因特网上查到了每件物品的价格(都是整数元)。他希望在不超过N元(可以等于N元)的前提下,使每件物品的价格与重要度的乘积的总和最大。设第j件物品的价格为vj,重要度为wj,共选中了k件物品,编号依次为j1,j2,jk,则所求的总和为:vj1*wj1+vj2

43、*wj2+ +vjk*wjk。(其中*为乘号)请你帮助金明设计一个满足要求的购物单。输入输出格式输入格式:输入的第1行,为两个正整数,用一个空格隔开:N m (其中N(30000)表示总钱数,m(25)为希望购买物品的个数。)从第2行到第m+1行,第j行给出了编号为j-1的物品的基本数据,每行有2个非负整数v p (其中v表示该物品的价格(v=10000),p表示该物品的重要度(15))输出格式:输出只有一个正整数,为不超过总钱数的物品的价格与重要度乘积的总和的最大值(100000000)。输入输出样例输入样例#1:1000 5800 2400 5300 5400 3200 2输出样例#1:3

44、900说明NOIP 2006 普及组 第二题P1061 Jam的计数法(三级)题目描述Jam是个喜欢标新立异的科学怪人。他不使用阿拉伯数字计数,而是使用小写英文字母计数,他觉得这样做,会使世界更加丰富多彩。在他的计数法中,每个数字的位数都是相同的(使用相同个数的字母),英文字母按原先的顺序,排在前面的字母小于排在它后面的字母。我们把这样的“数字”称为Jam数字。在Jam数字中,每个字母互不相同,而且从左到右是严格递增的。每次,Jam还指定使用字母的范围,例如,从2到10,表示只能使用b,c,d,e,f,g,h,i,j这些字母。如果再规定位数为5,那么,紧接在Jam数字“bdfij”之后的数字应

45、该是“bdghi”。(如果我们用U、V依次表示Jam数字“bdfij”与“bdghi”,则UV,且不存在Jam数字P,使UPV)。你的任务是:对于从文件读入的一个Jam数字,按顺序输出紧接在后面的5个Jam数字,如果后面没有那么多Jam数字,那么有几个就输出几个。输入输出格式输入格式:输入有2行,第1行为3个正整数,用一个空格隔开:s t w (其中s为所使用的最小的字母的序号,t为所使用的最大的字母的序号。w为数字的位数,这3个数满足:1sT26, 2wt-s )第2行为具有w个小写字母的字符串,为一个符合要求的Jam数字。所给的数据都是正确的,不必验证。输出格式:输出最多为5行,为紧接在输

46、入的Jam数字后面的5个Jam数字,如果后面没有那么多Jam数字,那么有几个就输出几个。每行只输出一个Jam数字,是由w个小写字母组成的字符串,不要有多余的空格。输入输出样例输入样例#1: 2 10 5 bdfij输出样例#1:bdghibdghjbdgijbdhijbefgh说明NOIP 2006 普及组 第三题P1062 数列(四级)题目描述给定一个正整数k(3k15),把所有k的方幂及所有有限个互不相等的k的方幂之和构成一个递增的序列,例如,当k=3时,这个序列是:1,3,4,9,10,12,13,(该序列实际上就是:30,31,30+31,32,30+32,31+32,30+31+32

47、,)请你求出这个序列的第N项的值(用10进制数表示)。例如,对于k=3,N=100,正确答案应该是981。输入输出格式输入格式:输入文件只有1行,为2个正整数,用一个空格隔开:k N (k、N的含义与上述的问题描述一致,且3k15,10N1000)。输出格式:输出文件为计算结果,是一个正整数(在所有的测试数据中,结果均不超过2.1*109)。(整数前不要有空格和其他符号)。输入输出样例输入样例#1: 3 100输出样例#1:981说明NOIP 2006 普及组 第四题P1067 多项式输出(一级)题目描述一元 n 次多项式可用如下的表达式表示:其中,aixi称为 i 次项,ai 称为 i 次项

48、的系数。给出一个一元多项式各项的次数和系数,请按照如下规定的格式要求输出该多项式:1. 多项式中自变量为 x,从左到右按照次数递减顺序给出多项式。2. 多项式中只包含系数不为 0 的项。3. 如果多项式 n 次项系数为正,则多项式开头不出现“+”号,如果多项式 n 次项系数为负,则多项式以“-”号开头。4. 对于不是最高次的项,以“+”号或者“-”号连接此项与前一项,分别表示此项系数为正或者系数为负。紧跟一个正整数,表示此项系数的绝对值(如果一个高于 0 次的项,其系数的绝对值为 1,则无需输出 1)。如果 x 的指数大于 1,则接下来紧跟的指数部分的形式为“xb”,其中 b 为 x 的指数;

49、如果 x 的指数为 1,则接下来紧跟的指数部分形式为“x”;如果 x 的指数为 0,则仅需输出系数即可。5. 多项式中,多项式的开头、结尾不含多余的空格。输入输出格式输入格式:输入共有 2 行第一行 1 个整数,n,表示一元多项式的次数。第二行有 n+1 个整数,其中第 i 个整数表示第 n-i+1 次项的系数,每两个整数之间用空格隔开。输出格式:输出共 1 行,按题目所述格式输出多项式。输入输出样例输入样例#1:poly1.in5 100 -1 1 -3 0 10poly2.in 3 -50 0 0 1 输出样例#1:poly1.out100x5-x4+x3-3x2+10poly2.out-

50、50x3+1 说明NOIP 2009 普及组 第一题对于100%数据,0=n=100,-100=系数=100P1068 分数线划定(二级)题目描述世博会志愿者的选拔工作正在 A 市如火如荼的进行。为了选拔最合适的人才,A 市对所有报名的选手进行了笔试,笔试分数达到面试分数线的选手方可进入面试。面试分数线根据计划录取人数的150%划定,即如果计划录取m名志愿者,则面试分数线为排名第m*150%(向下取整)名的选手的分数,而最终进入面试的选手为笔试成绩不低于面试分数线的所有选手。现在就请你编写程序划定面试分数线,并输出所有进入面试的选手的报名号和笔试成绩。输入输出格式输入格式:第一行,两个整数 n

51、,m(5 n 5000,3 m n),中间用一个空格隔开,其中 n 表示报名参加笔试的选手总数,m 表示计划录取的志愿者人数。输入数据保证 m*150%向下取整后小于等于 n。第二行到第 n+1 行,每行包括两个整数,中间用一个空格隔开,分别是选手的报名号 k(1000 k 9999)和该选手的笔试成绩 s(1 s 100)。数据保证选手的报名号各不相同。输出格式:第一行,有两个整数,用一个空格隔开,第一个整数表示面试分数线;第二个整数为进入面试的选手的实际人数。从第二行开始,每行包含两个整数,中间用一个空格隔开,分别表示进入面试的选手的报名号和笔试成绩,按照笔试成绩从高到低输出,如果成绩相同,则按报名号由小到大的顺序输出。输入输出样例输入样例#1:6 3 1000 90 3239 88 2390 95 7231 84 1005 95 1001 88输出样例#1:88 5 1005 95 2390 95 1000 90 1001 88 3239 88 说明【样例说明】m*150% = 3*150%

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论