#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
int num[300],n,pos[300],len[300];
void circle()
{
for(int i=1;i<=n;i++)
{
int j=i;
len[i]=1;
while(i!=pos[j])
{
len[i]++;
j=pos[j];
}
//cout<<len[i];
}
}
int main()
{
while(cin>>n)
{
if(!n) break;
for(int i=1;i<=n;i++)
{
cin>>num[i];
pos[num[i]]=i;
}
circle();
char s[300];
int m;
while(cin>>m)
{
if(!m) break;
getchar();
gets(s);
int l;
l=strlen(s);
for(int i=l;i<=n;i++) s[i]=' ';
for(int i=1;i<=n;i++)
{
l=m%len[i];
int temp=i;
for(int j=0;j<l;j++)
{
temp=pos[temp];
}
// cout<<temp;
cout<<s[temp-1];
}
cout<<endl;
}
cout<<endl;
}
}
poj 1026 Cipher 置换 (未完)
最新推荐文章于 2021-03-30 21:38:04 发布