POJ 1026 Cipher(置换群)
2012-10-18 15:24
381 查看
题目链接
以前做过置换群的题目,基本上都是一个样,这个题,数据不大,乱搞即可,注意换行,贡献一次PE。
以前做过置换群的题目,基本上都是一个样,这个题,数据不大,乱搞即可,注意换行,贡献一次PE。
#include <cstdio> #include <cstring> #include <cmath> using namespace std; int p[501],o[501],z; void dfs(int i) { if(!o[i]) { o[i] = 1; z ++; dfs(p[i]); o[i] = z; } else { return ; } } int main() { int i,n,m,num,temp,len; char s1[301],s2[301]; while(scanf("%d",&n)!=EOF) { if(n == 0) break; memset(o,0,sizeof(o)); for(i = 1; i <= n; i ++) { scanf("%d",&p[i]); } for(i = 1;i <= n;i ++) { z = 0; if(!o[i]) dfs(p[i]); } for(;;) { scanf("%d%*c",&m); if(m == 0) break; gets(s1); len = strlen(s1); for(i = len;i <= n-1;i ++) { s1[i] = ' '; } for(i = 0;i <= n-1;i ++) { num = m%o[i+1]; temp = i+1; while(num != 0) { temp = p[temp]; num --; } s2[temp-1] = s1[i]; } s2 = '\0'; printf("%s\n",s2); } printf("\n"); } return 0; }
相关文章推荐
- poj1026--Cipher(置换群)
- poj 1026 Cipher(置换群T_T)
- POJ 1026 - Cipher【置换群】
- poj-1026-Cipher-置换群
- POJ1026 HDU1439 Cipher【置换群】
- POJ 1026-Cipher(置换群)
- POJ 1026 Cipher (置换群)
- POJ 1026 Cipher(置换群)
- POJ 1026-Cipher(置换群-K次置换 取模循环节长度)
- poj 1026 Cipher (置换群)
- 【POJ 1026】Cipher(置换群)
- POJ 1026 Cipher 置换群
- 【POJ】1026 - Cipher(置换群)
- POJ 1026 Cipher(置换群)循环节
- poj 1026 Cipher(置换群)
- poj_1026 Cipher(置换群)
- 【解题报告】POJ 1026 Cipher -- 置换群 轮换k次
- poj 1026 Cipher 【置换群】 【求一个字符串经过 k 次置换后 的新字符串】
- 【置换群】 HDOJ 1439 && POJ 1026 Cipher
- poj 1026 Cipher【置换群*循环节】