⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1950842_ac_109ms_60k.cpp

📁 北大大牛代码 1240道题的原代码 超级权威
💻 CPP
字号:
# include <stdio.h>
# include <string.h>

int main()
{
	int n, i, k, m, j, len;
	int a[300], t[300], tmp;
	char code[300], encode[300];

	while(scanf("%d",&n)==1&&n)
	{
		for(i = 0; i < n; i++)
			scanf("%d",&a[i]);
		for(i = 0; i < n; i++)
		{
			tmp = a[i];
			m = 0;
			while(tmp!=i+1)
			{
				tmp = a[tmp-1];
				m++;
			}
			t[i] = m;
		}
		while(scanf("%d",&k)==1&&k)
		{
			getchar();
			gets(code);
			len = strlen(code);
			for(; len < n; len++)
				code[len] = ' ';
			code[n] = '\0';
			for(i = 0; i < n; i++)
			{
				j = i;
				tmp = k%(t[i]+1);
				if(tmp == 0) {encode[i] = code[i];continue;}
				while(tmp--)
				{
				     m = a[j];
				     j = m - 1;
				}
				encode[j] = code[i];
			}
			encode[n] = '\0';
			printf("%s\n",encode);
		}
		printf("\n");
	}
	return 1;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -