cccccct_1 2020-12-14 19:36 采纳率: 94.1%
浏览 6
已结题

c语言 转移问题?萌新求教

有n个孩子,他们每个人都在读一本独一无二的书。在任何一天结束时,第i个孩子会把他的书给第p[i]个孩子(如果i=p[i],孩子会把他的书给自己)。保证p[ i]的所有值都是从1到n的不同整数。序列p不会每天变化,它是固定的。

例如,如果n=6,p=[4,6,1,3,5,2],那么在第一天结束时,第一个孩子的书将属于第四个孩子,第二个孩子将属于第六个孩子,依此类推。第二天结束时,第一个孩子的书将属于第三个孩子,第二个孩子的书将属于第二个孩子等等。

你的任务是确定第i个孩子(i从1到n)的书第一次归还给他的日期。

考虑以下示例:p=[5,1,2,4,3]。

第一个孩子的书将传给以下孩子:

第一天之后,它将属于第五个孩子,

第二天之后,它将属于第三个孩子,

第三天之后,它将属于第二个孩子,

第四天之后,它将属于第一个孩子。

所以在第四天之后,第一个孩子的书将归还给最开始拥有它的人。

第四个孩子的书将在一天后第一次回到他身边。

输入

输入的第一行包含一个整数q(1≤q≤200)-测试用例数

测试用例的第一行包含一个整数n(1≤n≤200)。测试用例的第二行包含n个整数p1,p2,…,pn(1≤p i≤n,所有pi都是不同的),其中pi是将得到第i个孩子的书的孩子。

输出

对于每个测试用例,在上面打印答案:n整数a1,a2,…,an,其中ai是在该测试用例中第一次将第i个孩子的书本归还给他的日期。

Example

input

6

5

1 2 3 4 5

3

2 3 1

6

4 6 2 1 5 3

1

1

4

3 4 1 2

5

5 1 2 4 3

output

1 1 1 1 1

3 3 3

2 3 3 2 1 3

1

2 2 2 2

4 4 4 1 4

  • 写回答

1条回答 默认 最新

  • 风一样的航哥 2020-12-14 21:39
    关注

    一下子输入6个test case太多了,输入太多了。上传一个一次测试一个用例的程序。

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    int main()
    {
    	int N=0,i=0,n=1;
    	int temp=0;
    	printf("please input the sizeof array:");
    	scanf("%d",&N);
    	int *p=NULL,*p1=NULL;
    	p=(int *)malloc(N*sizeof(int));
    	p1=(int *)malloc(N*sizeof(int));
    	memset(p1,0,sizeof(p1));
    	printf("please input element of array(use space split):\n");
    	for(i=0;i<N;i++)
    	{
    		scanf("%d",&p[i]);
    	}
    	for(i=0;i<N;i++)
    	{
    		temp=p[i]-1;
    		n=1;
    		while(i!=temp)
    		{
    			temp=p[temp]-1;
    			n++;
    		}
    		p1[i]=n;
    	}
    	for(i=0;i<N;i++)
    	{
    		printf("%d ",p1[i]);
    	}
    	free(p);
    	free(p1);
    	return 0;
    }
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 5月16日
  • 已采纳回答 5月8日

悬赏问题

  • ¥30 YOLO检测微调结果p为1
  • ¥20 求快手直播间榜单匿名采集ID用户名简单能学会的
  • ¥15 DS18B20内部ADC模数转换器
  • ¥15 做个有关计算的小程序
  • ¥15 MPI读取tif文件无法正常给各进程分配路径
  • ¥15 如何用MATLAB实现以下三个公式(有相互嵌套)
  • ¥30 关于#算法#的问题:运用EViews第九版本进行一系列计量经济学的时间数列数据回归分析预测问题 求各位帮我解答一下
  • ¥15 setInterval 页面闪烁,怎么解决
  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题