一个点孤零零矗立在那里,显示:TLE
我的BFS到底怎么了?被mecha或m28吃了一个点?
I am so vegetable, so I want YOU to help me.TYSM.
#include <algorithm>
#include <iostream>
#include <cstdio>
#include <cstring>
#include <vector>
#include <queue>
using namespace std;
int A[100005];
struct Node {
vector<int> c;
} G[100005];
void add(int u, int v) {
G[u].c.push_back(v);
}
void bfs(int u) {
queue<int> q;
bool vis[100005] = {};
int v;
q.push(u);
while (!q.empty()) {
v = q.front();
for (auto i : G[v].c) {
if (!vis[i]) {
q.push(i);
vis[i] = 1;
}
}
A[u] = max(v, A[u]);
q.pop();
}
}
int main() {
int n, m, u, v;
cin >> n >> m;
for (int i = 1; i <= m; i ++) {
cin >> u >> v;
add(u, v);
}
for (int i = 1; i <= n; i ++) {
bfs(i);
cout << A[i] << ' ';
}
return 0;
}