资源描述:
《1136 isbn号码【noip2008普及组】 1137 排座椅【noip2008普及组】》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ISBN号码【NOIP2008普及组】TimeLimit:10000MS MemoryLimit:65536KTotalSubmit:15Accepted:8Description 每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分割之后的五位数字代
2、表该书在该出版社的编号;最后一位为识别码。 识别码的计算方法如下:首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod11,所得的余数即为识别码,如果余数为10,则识别码为大写子母X。例如ISBN号码0-670-82162-4中的识别码4是这样得到的:对067082162这9个数字,从左至右,分别乘以1,2,……,9,再求和,即0×1+6×2+……+2×9=158,然后取158mod11的结果4作为识别码。 你的任务是编写程序判断输入的ISBN号码中识别码是否正确,如果正确,则仅输入“Right”;如果错误,则输出你认为是正确的ISBN号码。Input 输入文件isb
3、n.in只有一行,是一个字符序列,表示一本书的ISBN号码(保证输入符合ISBN号码的格式要求)。Output 输出文件isbn.out共一行,假如输入的ISBN号码的识别号正确,那么输出“Right”,否则,按照规定的格式,输出正确的ISBN号码(包括分隔符“-”)。SampleInput0-670-82162-4SampleOutputRightHint【输入输出样例2】isbn.in0-670-82162-0isbn.out0-670-82162-4Source·var·i,j,n:longint;·ch:char;·a:array[1..10]ofchar;·begin·re
4、ad(a[1],ch,a[2],a[3],a[4],ch,a[5],a[6],a[7],a[8],a[9],ch,a[10]);·j:=0;·fori:=1to9doj:=j+(ord(a[i])-48)*i;·j:=jmod11;·if((j=10)and(a[10]='X'))or(a[10]=chr(j+48))then·writeln('Right')·elsebegin·write(a[1],ch,a[2],a[3],a[4],ch);·write(a[5],a[6],a[7],a[8],a[9],ch);·ifj=10thenwriteln('X')·elsewriteln
5、(j);·end;·end.排座椅【NOIP2008普及组】TimeLimit:10000MS MemoryLimit:65536KTotalSubmit:5Accepted:4Description 上课的时候总有一些同学和前后左右的人交头接耳,这是令小学班主任十分头痛的一件事情。不过,班主任小雪发现了一些有趣的现象,当同学们的座次确定下来之后,只有有限的D对同学上课时会交头接耳。同学们在教室中坐成M行N列,坐在第i行第j列的同学的位置是(i,j),为了方便同学们进出,在教室中设置了K条横向的通道,L条纵向的通道。于是,聪明的小雪想到一个办法,或许可以减少上课时学生交头接耳的问题:
6、她打算重新摆放桌椅,改变同学们桌椅间通道的位置,因为如果一条通道隔开了两个会交头接耳的同学,那么他们就不会交头接耳了。 请你帮忙给小雪编写一个程序,给出最好的通道划分方案。在该方案下,上课时交头接耳的同学的对数最少。Input 输入文件seat.in的第一行,有5个用空格隔开的整数,分别是M,N,K,L,D(2<=N,M<=1000,0<=K7、唯一性。Output 输出文件seat.out共两行。 第一行包括K个整数,a1a2a3……ak,表示第a1行和a1+1行之间、第a2行和a2+1行之间、…、第ak行和ak+1行之间要开辟通道,其中ai 第二行包括L个整数,a1a2a3……aL,表示第b1列和b1+1列之间、第b2列和b2+1列之间、…、第bk列和bk+1列之间要开辟通道,其中biSampleInput45123424323332524SampleOutput224Hin