【水题】 HDU 2672 god is a girl
置换密码
打个表发现是斐波那契数
记得 mod 26
#include <stdio.h> #include <string.h> #include <stdlib.h> #include <string> #include <iostream> #include <algorithm> #include <sstream> #include <cmath> using namespace std; #include <queue> #include <stack> #include <vector> #include <deque> #include <set> #include <map> #include <time.h>; #define cler(arr, val) memset(arr, val, sizeof(arr)) #define IN freopen ("in.txt" , "r" , stdin); #define OUT freopen ("out.txt" , "w" , stdout); typedef long long LL; const int MAXN = 710;//点数的最大值 const int MAXM = 200006;//边数的最大值 const int INF = 0x3f3f3f3f; const int mod = 10000007; const int N=102010; char s[333]; int f[331]; int main() { int t,cas=1; //IN; f[0]=f[1]=1; for(int i=2;i<=230;i++) f[i]=(f[i-1]+f[i-2])%26; while(gets(s)) { int tol=0; int len1=strlen(s); for(int i=0; i<len1; i++) { if(s[i]>='A'&&s[i]<='Z') { int x=(s[i]-'A'+f[i-tol])%26; printf("%c",'A'+x); } else { tol++; printf("%c",s[i]); } } puts(""); } }