题目链接:
思路:dfs判环,这里成环的条件是环中的每个点的出度和入度都为1,因此dfs的时候只须判断的相连的每个点的size()==2即可。
ps:为防暴栈手动开栈:#pragma comment(linker,"/STACk:10240000,10240000")
1 #include2 #include 3 #include 4 #include 5 #include 6 using namespace std; 7 #define MAXN 100100 8 #pragma comment(linker,"/STACk:10240000,10240000") 9 vector map[MAXN];10 bool mark[MAXN];11 int n,m,cnt1,cnt2;12 bool flag;13 14 void dfs(int u){15 mark[u]=true;16 if(map[u].size()!=2)flag=false;17 for(int i=0;i