pku1674.cpp

来自「这是ACM 方面的资料 是PKU的 北京大学的出来的」· C++ 代码 · 共 41 行

CPP
41
字号
#include <stdio.h>
int elm[10010], flg[10010];
int N;

int calc()
{
	int i, ans = 0, k;
	for (i = 1; i <= N ; i++)
	{
		if (flg[i] == 1)
		{
			continue;
		}
		k = i;
		while (elm[k] != i)
		{
			k = elm[k];
			flg[k] = 1;
			ans++;
		}
	}
	return ans;
}

int main()
{
	int i, T;
	scanf("%d", &T);
	while (T--)
	{
		scanf("%d", &N);
		for (i = 1; i <= N; i++)
		{
			scanf("%d", &elm[i]);
			flg[i] = 0;
		}
		printf("%d\n", calc());
	}
	return 0;
}

⌨️ 快捷键说明

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