洛谷P1071 潜伏者
字符串
题意 给出一段密文,在给出一段明文,再给出一段密文,要求破译这段密文,
如果错误的话就输出 Failed
错误有一下几种 密文中A--Z 没有全部出现
明文中A--Z 没有全部出现
不同的密文对应不同的明文 或者也可以这与这样说,不同的明文对应不同的密文
1 #include <cstdio> 2 #include <cstring> 3 #include <cmath> 4 #include <cstdlib> 5 #include <string> 6 #include <algorithm> 7 #include <iomanip> 8 #include <iostream> 9 using namespace std ; 10 11 int n,l ; 12 char a[111],b[111],c[111] ; 13 int f[211],ff[211] ; 14 15 inline void die() 16 { 17 printf("Failed\n") ; 18 exit(0) ; 19 } 20 21 int main() 22 { 23 scanf("%s",a+1) ; 24 scanf("%s",b+1) ; 25 scanf("%s",c+1) ; 26 l = strlen( a+1 ) ; 27 for(int i=1;i<=l;i++ ) 28 { 29 if( !f[a[i]]||f[a[i]]==b[i] ) 30 f[a[i]] = b[ i ] ; 31 else 32 die() ; 33 if( !ff[b[i]]||ff[b[i]]==a[i] ) 34 ff[b[i]] = a[ i ] ; 35 else 36 die() ; 37 } 38 for(char i=‘A‘;i<=‘Z‘;i++ ) 39 if(!f[ i ]) die() ; 40 for(char i=‘A‘;i<=‘Z‘;i++ ) 41 if(!ff[ i ]) die() ; 42 l = strlen(c+1) ; 43 for(int i=1;i<=l;i++ ) 44 printf("%c", char( f[c[i]] ) ) ; 45 46 return 0 ; 47 }
时间: 2024-10-09 16:13:58