神马情况?c++输出不了答案,抱着侥幸心理提交AC?
查看原帖
神马情况?c++输出不了答案,抱着侥幸心理提交AC?
677091
MnZnOIer楼主2023/11/23 12:42

帅哥不理解,代码如下

#include<bits/stdc++.h>
#define int long long
using namespace std;
int n, m, k, c[101], cnt, h[1001], cn;
bool vis[101][1001];
struct Egde{int nxt, to;}e[10001];
void add (int from, int to)
{
	e[++ cn].nxt = h[from];
	e[cn].to = to;
	h[from] = cn;
}
void dfs (int nc, int d)
{
	for (int i = h[d]; i != 0; i = e[i].nxt)if (! vis[nc][e[i].to])
	{
		vis[nc][e[i].to] = 1;
		dfs (nc, e[i].to);
	}
}
signed main()
{
	scanf ("%d %d %d", &k, &n, &m);
	for (int i = 1; i <= k; ++ i)scanf ("%d", &c[i]);
	for (int i = 0; i < m; ++ i)
	{
		int u, v;
		scanf ("%d %d", &u, &v);
		add (u, v);
	}
	for (int i = 1; i <= k; ++ i)
	{
		vis[i][c[i]] = 1;
		dfs (i, c[i]);
	}
	for (int i = 1; i <= n; ++ i)
	{
		bool f = 1;
		for (int j = 1; j <= k; ++ j)if (! vis[j][i]){f = 0;break;}
		if (f)++ cnt;
	}
	printf ("%d", cnt);
	return 0;
}

但是在c++上输出不了答案,一提交就AC了

2023/11/23 12:42
加载中...