pku2890.cpp

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

CPP
58
字号
#include <stdio.h>
#include <string.h>
#define maxn 1001

typedef struct Graph
{
	int n;
	int v[maxn];
}Graph;

Graph G[maxn];
int N, M;
char v[maxn];
int cnt;

void init()
{
	int i;
	for (i = 0; i < N; i++)
		G[i].n = 0;
}

void DFS(int p)
{
	int i;
	cnt++;
	v[p] = 1;
	for (i = 0; i < G[p].n; i++)
	{
		if (!v[G[p].v[i]])
			DFS(G[p].v[i]);
	}
}

int main()
{
	int s, e, i;
	while (EOF != scanf("%d %d", &N, &M) && (M || N))
	{
		init();
		cnt = 0;
		while (M--)
		{
			scanf("%d %d", &s, &e);
			if (s != e)
				G[s].v[G[s].n++] = e;
		}
		for (i = 0; i < N; i++)
		{
			memset(v, 0, sizeof(v));
			DFS(i);
		}
		printf("%d\n", cnt);
	}
	return 0;
}

⌨️ 快捷键说明

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