Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include <iostream>#include <stdio.h>#include <queue>const int MAXM = 5000;const int MAXN = 1000;using namespace std;int path [MAXN + 1];int pathsize = 0;int edge [MAXN + 1][MAXN + 1];int m,n;int in[MAXN +1];void dfs (int u){for (int i = 1;i<=n;++i)if (edge[u][i]){edge[u][i] = edge[i][u] = 0;dfs(i);}path[pathsize++] = u;}int main(){int u,v;scanf("%d%d",&n,&m);while(m--){scanf("%d%d",&u,&v);edge [u][v] = edge[v][u] = 1;in[v]++;in[u]++;}int x = 1;for (int i = 1;i<=n;i++)