洛谷P1071 潛伏者 字符串
阿新 • • 發佈:2017-06-07
沒有 ret bsp sca algorithm 不同 mat pri style
洛谷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 }
洛谷P1071 潛伏者 字符串