鏈接地址:http://poj.grids.cn/practice/2818/
題目:
- 描述
- Bob 和 Alice 開始使用一種全新的編碼系統。它是一種基於一組私有鑰匙的。他們選擇了n個不同的數a1 , . . .,an, 它們都大於0小於等於n。 機密過程如下:待加密的信息放置在這組加密鑰匙下,信息中的字符和密鑰中的數字一一對應起來。信息中位於i位置的字母將被寫到加密信息的第ai個位置, ai 是位於i位置的密鑰。加密信息如此反復加密,一共加密 k 次。
信息長度小於等於n。如果信息比 n 短, 後面的位置用空格填補直到信息長度為n。
請你幫助 Alice 和 Bob 寫一個程序,讀入密鑰,然後讀入加密次數 k 和要加密的信息,按加密規則將信息加密。- 輸入
- 輸入包括幾塊。每塊第一行有一個數字n, 0 < n <= 200. 接下來的行包含n個不同的數字。數字都是大於0小於等於n的。下面每行包含一個k和一個信息字符串,它們之間用空格格開。每行以換行符結束,換行符不是要 加密的信息。每個塊的最後一行只有一個0。 最後一個塊後有一行,該行只有一個0。
- 輸出
- 輸出有多個塊,每個塊對應一個輸入塊。每個塊包含輸入中的信息經過加密後的字符串,順序與輸入順序相同。所有加密後的字符串的長度都是 n。 每一個塊後有一個空行。
- 樣例輸入
10 4 5 3 7 2 8 1 6 10 9 1 Hello Bob 1995 CERC 0 0- 樣例輸出
BolHeol b C RCE
代碼
#include <iostream><cstdlib><cstdio><cstring> (scanf(,&n),n != *nums = ( i = ; i < n; i++) cin>> * circles = ( i = ; i < n; i++ pos = j = = nums[pos] - ++(pos !==(scanf(,&k),k != * chs = [n+ ,()*(n+ length == = *chs3 = [n+( i = ; i < n; i++ nk = k % pos =( j = ; j < nk; j++= nums[pos] - == <<chs3<<<<
思路:
(1)注意要優化,不然會超時
(2)讀入讀出要注意