1. 程式人生 > >洛谷P1071 潛伏者 字符串

洛谷P1071 潛伏者 字符串

沒有 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 潛伏者 字符串