求大佬帮调,实在不知道哪里错了/ll
查看原帖
求大佬帮调,实在不知道哪里错了/ll
396974
Buried_Dream楼主2022/7/12 15:40
/**
 *	author: TLE_Automation
 *	creater: 2022.7.9
**/
#include<cmath>
#include<queue>
#include<cstdio>
#include<bitset>
#include<cstring>
#include<iostream>
#include<algorithm>
#define gc getchar 
using namespace std;
typedef long long ll;
//#define int long long
const int N = 1e6 + 10;
const int MAXN = 2e5 + 10;
const int mod = 998244353;
const int INF = 0x3f3f3f3f;
const ll inf = 0x3f3f3f3f3f3f3f3f;
inline int gcd(int a, int b) {return !b ? a : gcd(b, a % b);}
inline void print(int x) {if (x < 0) putchar('-'), x = -x; if(x > 9) print(x / 10); putchar(x % 10 + '0');}
inline int ksm(int a, int b) {int base = a % mod, res = 1; while(b){if(b & 1) res = (res * base) % mod; base = (base * base) % mod, b >>= 1;}return res % mod;}
inline int mul(int a, int b) {int base = a % mod, res = 0; while(b){if(b & 1) res = (res + base) % mod; base = (base + base) % mod, b >>= 1;}return res % mod;}
inline char readchar() {static char buf[100000], *p1 = buf, *p2 = buf; return p1 == p2 && (p2 = (p1 = buf) + fread(buf, 1, 100000, stdin), p1 == p2) ? EOF : *p1++;}
inline int read() { int res = 0, f = 0; char ch = gc();for (; !isdigit(ch); ch = gc()) f |= (ch == '-'); for (; isdigit(ch); ch = gc()) res = (res << 1) + (res << 3) + (ch ^ '0'); return f ? -res : res;}

vector <int> E[N];
int col[N];

bool dfs(int u, int c) {
	col[u] = c;
	for(int v : E[u]) {
		if(col[v] == col[u]) return false;
		if(!col[v]) dfs(v, 3 - c);
	}	
	return true;
}

int cnt = 0;
void Main() {
	memset(col, 0, sizeof col);
	int n = read(), m = read();
	for(int i = 1; i <= m; i++) {
		int u = read(), v = read();
		E[u].push_back(v);
	}
	printf("Scenario #%d:\n", ++cnt);
	if(!dfs(1, 1)) printf("Suspicious bugs found!\n");
	else printf("No suspicious bugs found!\n");
	for(int i = 1; i <= n; i++) E[i].clear();
}
signed main() 
{
	int T = read();
	while(T--) Main();
	return 0;
}
2022/7/12 15:40
加载中...