1176. Hyperchannels(欧拉回路)

1176

给定一有向图 求其反图的欧拉回路 

路径输反了 一直WA。。

 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 }
View Code

 

posted @ 2013-10-17 14:51  _雨  阅读(253)  评论(0编辑  收藏  举报