vijos中的p1752**,请高手码个pascal的代码,一定要能ac的,谢谢!

蕊花花 2024-05-05 07:05:06
最佳回答
var s1,s2,s3:string; a,b:array['a'..'z']of char; i:longint; c:char;begin readln(s1); readln(s2); readln(s3);//s1为一条加密信息,s2为原信息。通过他们找到密码与原码之间的对应关系。//一个加密字母对应一个原码字母(用a表示);一个原码字母对应一个密码字母(用b表示) fillchar(a,sizeof(a),' ');//赋初值,即没有找到对应的原码字母 fillchar(b,sizeof(b),' ');//赋初值,即没有找到对应的密码字母 for i:=1 to length(s1) do if ((a[s1[i]]<>' ')and(a[s1[i]]<>s2[i]))//不为空格,就是说已经有相应的原码字母//<>s2[i],说明有另一个不同的原码字母(s1[i]为原来已经有的),矛盾 or((b[s2[i]]<>' ')and(b[s2[i]]<>s1[i]))//不为空格,就是说已经有相应的密码字母//<>s1[i],说明有另一个不同的密码字母,矛盾 then begin writeln('failed'); exit; end else begin a[s1[i]]:=s2[i];//s1[i]对应的原码存在a数组中 b[s2[i]]:=s1[i];//s2[i]对应的密码存在b数组中 end; for c:='a' to 'z' do if a[c]=' ' then//处理原来的密码和原码字任串时,里面有不存在的字母 begin writeln('failed'); exit; end; for i:=1 to length(s3) do write(a[s3[i]]);end. 20210311
汇率兑换计算器

类似问答
汇率兑换计算器

热门推荐
热门问答
最新问答
推荐问答
新手帮助
常见问题
房贷计算器-九子财经 | 备案号: 桂ICP备19010581号-1 商务联系 企鹅:2790-680461

特别声明:本网为公益网站,人人都可发布,所有内容为会员自行上传发布",本站不承担任何法律责任,如内容有该作者著作权或违规内容,请联系我们清空删除。