1176. Hyperchannels(欧拉回路)
给定一有向图 求其反图的欧拉回路
路径输反了 一直WA。。
![](https://images.cnblogs.com/OutliningIndicators/ContractedBlock.gif)
1 #include <iostream> 2 #include<cstdio> 3 #include<cstring> 4 #include<algorithm> 5 #include<stdlib.h> 6 #include<queue> 7 #include<vector> 8 using namespace std; 9 #define N 50100 10 int n,m; 11 vector<int>ed[1010]; 12 int w[1010][1010],vis[1010]; 13 int pa[N],num,t; 14 void dfs(int u) 15 { 16 int i; 17 for(i = 0 ; i < (int)ed[u].size() ; i++) 18 { 19 int v = ed[u][i]; 20 if(w[u][v]) 21 continue; 22 else 23 { 24 w[u][v] = 1; 25 dfs(v); 26 } 27 } 28 t++; 29 pa[t] = u; 30 } 31 int main() 32 { 33 int i,j; 34 scanf("%d%d",&n,&m); 35 for(i = 1; i <= n ; i++) 36 for(j = 1 ; j <= n ; j++) 37 scanf("%d",&w[i][j]); 38 for(i = 1; i <= n ; i++) 39 for(j = 1; j <= n ; j++) 40 if(i!=j&&!w[i][j]) 41 { 42 ed[i].push_back(j); 43 } 44 dfs(m); 45 for(i = t; i > 1 ; i--) 46 printf("%d %d\n",pa[i],pa[i-1]); 47 return 0; 48 }