Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<cstring>#include<cstdio>#include<map>#include<set>#include<vector>#include<algorithm>#include<cmath>#include<fstream>using namespace std;vector<int>g[100000 + 5];int vis[100000 + 5];bool flag = false;void dfs(int n, int fa){vis[n] = 1;if(flag)return;for(int i = 0; i < g[n].size(); i++){if(!vis[g[n][i]])dfs(g[n][i], n);else if(vis[g[n][i]] == 1){flag = true;break;}}vis[n] = 2;}int main(){// freopen("data.txt", "r", stdin);// ifstream cin("data.txt");ios::sync_with_stdio(false);