1674.txt

来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 44 行

TXT
44
字号


#include "stdio.h"

int a[10000], ans;
bool sign[10000];

int main()
{
	int cas, n, i, j;

	scanf( "%d\n", &cas );
	while( cas-- )
	{
		scanf( "%d", &n );
	
		for( i=0; i<n; i++ )
		{
			scanf( "%d", &a[i] );
			a[i] -- ;
			sign[i] = false;
		}
		
		ans = 0;
		for( i=0; i<n; i++ )
		if( !sign[i] )
		{
			j = a[i];
			sign[i] = true;
			while( j != i )
			{
				sign[j] = true;
				j = a[j];
				ans++;
			}
		}
		printf( "%d\n", ans );
	}

	return 0;
}


⌨️ 快捷键说明

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