求助大佬这份代码为什么会厌氧啊
  • 板块学术版
  • 楼主Honahec
  • 当前回复3
  • 已保存回复3
  • 发布时间2022/8/1 19:46
  • 上次更新2023/10/27 17:28:05
查看原帖
求助大佬这份代码为什么会厌氧啊
306226
Honahec楼主2022/8/1 19:46
#include<cstdio>
#include<cstring>
#include<queue>

const int N = 1e6 + 5;
struct edge {
	int nxt, to;
} e[N << 1];
int n, m, k, head[N], cnt;
bool find[N];

inline int add(int u, int v) {
	e[++cnt].nxt = head[u];
	e[cnt].to = v;
	head[u] = cnt;
}

void search(int x, int del) {
	find[x] = 1;
	for(int i = head[x]; i; i = e[i].nxt) {
		int y = e[i].to;
		if(y == del) continue;
		if(!find[y]) search(y, del);
	}
}

int main() {
	scanf("%d%d%d", &n, &m, &k);
	for(int i = 1, u, v; i <= m; ++i) {
		scanf("%d%d", &u, &v);
		add(u, v);
		add(v, u);
	}
	for(int i = 1; i <= n; ++i) {
		int res = 0;
		memset(find, 0, sizeof find);
		for(int j = 1; j <= n; ++j) {
			if(j == i) continue;
			if(!find[j]) {
				++res;
				search(j, i);
			}
		}
		if(res - 1 <= k) printf("Yes\n");
		else printf("No\n");
	}
	return 0;
}
2022/8/1 19:46
加载中...