Lang:G++
Edit12345678910111213141516171819202122232425262728293031#include<iostream>#include<cstdio>using namespace std;const int kMaxN = 1005,kMaxM=5005;int n, m,path_size=0;int path[kMaxM];//是kMaxM而非kMaxNint edge[kMaxN][kMaxN];void dfs(int p){for (int i = 1; i <= n; i++){if (edge[p][i]>0){edge[p][i]--;edge[i][p]--;dfs(i);}}path[path_size++] = p;}int main(){//freopen("input.txt", "r", stdin);scanf("%d %d", &n, &m);int u, v;for (int i = 0; i < m; i++){scanf("%d %d", &u, &v);edge[u][v]++;//防止有重边edge[v][u]++;}