ZOJ-1009
2013-04-25 21:33
211 查看
最开始以为很复杂呢,认真想了一下,就是理清逻辑!不涉及时间空间越界问题~虽然调了好一会儿,但最后还是做出来了~而且是一次过,太难得了!分享一下~
#include <iostream> #include <string> using namespace std; int main() { int i,j,m,n,cases=1; int A[26],B[26],C[26]; while(cin >> m && m) { char c; for(i=0;i<m;i++) { cin >> c; A[i]=c-'A'-i; } for(i=0;i<m;i++) { cin >> c; B[i]=c-'A'-i; } for(i=0;i<m;i++) { cin >> c; C[i]=c-'A'-i; } cin >> n; if(cases!=1) cout << endl; cout << "Enigma " << cases << ":" << endl; cases++; while(n--) { string str; cin >> str; int stepA=0,stepB=0,stepC=0; for(i=0;i<str.length();i++) { for(j=0;j<m;j++) { int a=(j+A[((j-stepA)+m)%m]+m)%m; int b=(a+B[((a-stepB)+m)%m]+m)%m; int c=(b+C[((b-stepC)+m)%m]+m)%m; if(c==str[i]-'A') { cout << (char)('a'+j); break; } } stepA++; if(stepA==m) { stepA=0; stepB++; if(stepB==m) { stepB=0; stepC++; if(stepC==m) stepC=0; } } } cout << endl; } } }
相关文章推荐
- ZOJ_1009
- [ZOJ 1009] Enigma (模拟)
- zoj&nbsp;1009&nbsp;enigma
- ZOJ1009解题报告
- ZOJ1009 Enigma
- ZOJ 1009 转子加密
- ZOJ1009 Enigma
- ZOJ 1009 Enigma
- zoj 2109 || hdoj1009 FatMouse' Trade(贪心)
- ZOJ Problem Set - 1009
- ZOJ1009 Enigma
- ZOJ 1009, 1115, 1476, 1733, 2405 解题报告
- Zoj 1009 Enigma
- zoj上面的题1009~~~~
- zoj 1009 Enigma (模拟)
- ZOJ 1009 Enigma
- zoj 1009
- ZOJ Problem Set - 1009 Enigma(待想通)
- ZOJ 1009
- ZOJ--1009:Enigma