比赛 暑假培训二 评测结果 WAAWWAWA
题目名称 字串变换 最终得分 50
用户昵称 苏轼 运行时间 0.000 s
代码语言 Pascal 内存使用 0.00 MiB
提交时间 2008-07-18 09:54:41
显示代码纯文本
program cch(input,output,f1,f2);
var
 f1,f2:text;
 flag:boolean;
 s1,x1,s2:string;
 s,x:array[1..10] of string;
 q,c,min:integer;

procedure make(s1:string);
var
 i,r:integer;
begin
 if s1=x1 then begin
            flag:=false;
            if c<min then min:=c;
            exit;
          end;
 if (c>10)and flag then begin
          writeln(f2,'NO ANSWER!');
          close(f1);
          close(f2);
          halt;
         end;
 for i:=1 to q do begin
   r:=pos(s[i],s1);
  if r<>0 then begin
   delete(s1,r,length(s[i]));
   insert(x[i],s1,r);
   inc(c);
   make(s1);
  end;
 end;
end;


begin
 assign(f1,'string.in');
 assign(f2,'string.out');
 reset(f1);
 rewrite(f2);
 readln(f1,x1);
 s1:= copy(x1,1,pos(' ',x1)-1);
 delete(x1,1,pos(' ',x1));
 q:=0;
 while eof(f1)=false do begin
  readln(f1,s2);
  inc(q);
  s[q]:=copy(s2,1,pos(' ',s2)-1);
  delete(s2,1,pos(' ',s2));
  x[q]:=s2;
 end;
 min:=20; flag:=true; c:=0;
 make(s1);
 if flag then writeln(f2,'NO ANSWER!')
 else writeln(f2,min);
 close(f1);
 close(f2);
end.