资源描述:
《2014noip复赛模拟练习21(附答案)》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、趣味填空Description小华的寒假作业上,有这样一个趣味填空题:给出用等号连接的两个整数,如“1234=127”。当然,现在这个等号是不成立的。题目让你在左边的整数中间某个位置插入一个加号,看有没有可能让等号成立。以上面的式子为例,如果写成123+4=127,这就可以了。请你编写一个程序来解决它。Input只有那个不相等的式子。已知,等号两边的整数都不会超过2000000000oOutput如果存在这样的方案,请输出那个正确的式子。如果不存在解决方案,请输出“Impossible!"(引号中的部分)。SampleInput1234=127Sam
2、pleOutput123+4=127programexl075;varijen,p:integer;al,a2,b:longint;st,stl,st2,st3:string;beginreadln(st);p:=pos(-st);stl:=copy(st,1,p-l);delete(st,l,p);val(st,b);len:=length(stl);fori:=ltolen-1dobeginst2:=copy(stl,l,i);val(st2,al);st3:=copy(stl,i+lJen-i);val(st3,a2);ifal+a2=bth
3、enbeginwriteln(a1,'+',a2,'=',b);exit;end;end;writeln('Impossible!')end・输入3578=3560输出Impossible输入32468=500输岀32+468=500输入9888876593=988887662输岀988887659+3=988887662旋转单词Description今天的英语课,王老师为了复习以前学过的单词,提高学生的学习兴趣,想出了一个主意:读入M组数据,其中每组数据有一个单词L(单词长度<=36个字符)和一个整数N(0<=N<=36),从该单词最末位开始逐位移
4、到单词的开头,如果述没达到N值,则再从末位开始移动,直到达到N值为止,求移N位后的新单词。你能编程帮助贝贝最快完成任务吗?Input共有2*M+1行,第1行为M,第2行开始为具体数据,每一组数据有2行,第1行为字串L,第2行为N。Output共M行,每行为旋转后的字串。SamplInput3computer3program1ABCDEFGH35SampleOutputtercompumprograprogramex1842;varst,stl,st2:string;njj,t9pjen:integer;beginreadln(n);fori:=lto
5、ndobeginreadln(st);readln(t);len:=length(st);ift6、句子,请你找出有多少个不同的单词,并且按字典序输出每个单词。【输入格式】一个英文句子,不超过250个字符。英文句子只包括小写字母、空格,开头和结尾无空格,每个单词用空格分隔。【输出格式】第1行输出不同单词的个数第2行开始按字典序输出每个单词,每个单词占一行。【输入样例】theseapplesarered【输出样例】4applesareredthesea:array[1..255]ofstring;tistring;s:string;ijJXsum,len:longint;beginassignCinput/word.in1);assign(outpu
7、t/word.ouf);reset(input);rewrite(output);i:=l;{储存单词}{交换}{i,j,l,k:控制循环,sum:剩余单词总数}read(s);len:=length(s);{解决读入空格问题!!}forj:=ltolendoifs[j]<>*'thena[i]:=a[i]+s[j]elsei:=i+l;{读入字符串}sum:=i;forj:=ltoi-1dobegink:二j;forl:=j+ltoidoifa[k]>a[l]thenk:=l;ifkojthenbegint:=a[k];a[k]:=aU];a[j]
8、:=t;end;end;forj:=2toidoifa
9、j]=a
10、j-l
11、thensum:=sum-l;wr