POJ1026 Cipher
2015-12-22 23:28
225 查看
POJ1026 Cipher
Description
对于一个长度为n的字符串,有一个数组表示第i个字符放到那个位置。输入多个字符串,问这样操作k次后的字符串是什么样子的。
Sample Input
10
4 5 3 7 2 8 1 6 10 9
1 Hello Bob
1995 CERC
0
0
Sample Output
BolHeol b
C RCE
题解:
整理ing
AC_Code(cpp):
Description
对于一个长度为n的字符串,有一个数组表示第i个字符放到那个位置。输入多个字符串,问这样操作k次后的字符串是什么样子的。
Sample Input
10
4 5 3 7 2 8 1 6 10 9
1 Hello Bob
1995 CERC
0
0
Sample Output
BolHeol b
C RCE
题解:
整理ing
AC_Code(cpp):
#include<iostream> using namespace std; int key[201]; int T[201]; void Time(int n) { int time; for (int i = 0; i < n; i++) { int k = key[i]; time = 1; while (i != k) { time++; k = key[k]; } T[i] = time; } } int main() { int n, k, len; char src[201]=""; char dst[201]=""; while (cin >> n && n) { //输入密钥 for (int i = 0; i < n; i++) { int _key; cin >> _key; key[i] = _key - 1; } //初始化周期数组 memset(T, 0, sizeof(T)); Time(n); while (cin >> k && k) { getchar(); cin.get(src, 200); len = strlen(src); for (int i = len; i < n; i++) { src[i] = ' '; } src = 0; for (int i = 0; i < n; i++) { int pos = i; for (int j = 0; j < k%T[i]; j++) { pos = key[pos]; } dst[pos] = src[i]; } dst = 0; cout << dst << endl; } cout << endl; } return 0; }
相关文章推荐
- (九十四)函数和二维数组
- Mac 安装 Redis
- 查找qt生成的exe软件需要的动态库.以及打包
- 现实中的IO和带宽
- toolbar easyui
- !!的使用
- git 常用操作一览图
- 多态与虚函数编程题 #2(C++程序设计第6周)
- 再议Swift操作符重载
- Winform自定义无边框窗体
- js 猜数字游戏
- system调用
- IP数据包格式
- 历程回顾
- 关于软工项目beta版本
- 2015年的倒数第10天新的一年就要开始了,加油,努力!
- Objective-C中的属性和实例变量
- 虚拟化三剑客专题-Hyper-V(下)
- 芒果iOS开发之App Transport Security has blocked a cleartext HTTP (http://) resource load since it is inse
- 算法设计题1.20-绪论-第1章-《数据结构习题集》-严蔚敏吴伟民版