- 字符串还原
- 2017-07-18 15:39:31 @
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
char a[10001],b[10001],c[10001];
int n,x=0,y=0,z=0;
void solve(char a[],char b[],char c[]){
int i;
for(i=0;i<=n-1;i++){
if((a[i]+b[i]-2*c[n-1-i])%26!=0){
x=1;
}
}
for(i=0;i<=n-1;i++){
if((c[i]+b[i]-2*a[n-1-i])%26!=0){
y=1;
}
}
for(i=0;i<=n-1;i++){
if((a[i]+c[i]-2*b[n-1-i])%26!=0){
z=1;
}
}
}
int main() {
int i;
cin>>n>>a>>b>>c;
solve(a,b,c);
if(x==0){
for(i=n-1;i>=0;i--){
cout<<c[i];
}
}
if(y==0){
for(i=n-1;i>=0;i--){
cout<<a[i];
}
}
if(z==0){
for(i=n-1;i>=0;i--){
cout<<b[i];
}
}
return 0;
}
1 条评论
-
陈小二 LV 6 @ 2017-08-06 16:16:44
注意范围……k=0.我第一个先也不能过,后来加了个范围就好了。
比如说,万一三个字符串是这样的:
aba
aba
aba
那样三个都有可能是对的,这种情况下,输出任意一个就好了。
- 1