- 分享
- 2018-05-16 18:17:34 @
题目:
游戏规则:输入两个单词(不考虑大小写),判断是否可以首尾拼接,一单词首部和另一单词尾部有相同的字符串才能拼接,如果可以拼接,输出拼接的单词,否则输出"no"。
输入:
word.in
Read
advanced
输出:
word.out
Readvanced
输入:
konck
pick
输出:
pickonck
输入:
knife
glass
输出:
no
我的代码:
var s,t,st:string;
flag:boolean;
a:array[1..1000] of longint;
procedure solve(p:longint);
var xx,yy,xxx,yyy:string;
begin
xxx:=s;
yyy:=t;
xx:=copy(xxx,length(xxx)-p+1,p);
yy:=copy(yyy,1,p);
if xx=yy then begin flag:=true; delete(yyy,1,p); st:=xxx+yyy; writeln(st); end
end;
procedure work(x,y:string);
var k,i:longint;
begin
k:=0;
for i:=1 to length(y) do if y[i]=x[length(x)] then begin inc(k); a[k]:=i end;
for i:=1 to k do
if not flag then solve(a[i])
else break;
end;
begin
readln(s);
readln(t);
flag:=false;
work(s,t);
st:=s;
s:=t;
t:=st;
if not flag then work(s,t);
if not flag then writeln('no');
end.
5个数据对了4个,还有一个格式错误。大神们帮忙看看。谢。