只通过9个点......求高手指教,谢谢

代码如下:
#include<iostream>
#include<cmath>
using namespace std;
int n,i,j,l,s,x,q,o;
int a[10005];
string st[5];
int main()
{
cin>>n;
cin>>st[1]>>st[2]>>st[3];
for(i=1;i<3&&o==0;i++)
for(j=i+1;j<=3;j++)
{
for(l=0;l<n;l++) //拿出任意两组加密字符串,求各个位上字母ACALL码之差
//如果差相等,则这两组字符串为被第二,三种加密方法加密
//倒序输出剩下一组即可
{
if(st[i][l]-st[j][l]<0)
a[l]=26-abs(st[i][l]-st[j][l]);
else
a[l]=st[i][l]-st[j][l];
if(l!=0)
if(a[l]==a[l-1]) s++;
else break;
}
if(s==n-1)
{
if(i==1&&j==2) x=3;
if(i==1&&j==3) x=2;
if(i==2&&j==3) x=1;
for(q=n-1;q>=0;q--) cout<<st[x][q];
o=1;
break;
}
s=0;
}

return 0;
}

0 条评论

目前还没有评论...

信息

ID
1449
难度
6
分类
字符串 | 模拟 点击显示
标签
递交数
6903
已通过
1850
通过率
27%
被复制
9
上传者