usaco Riding the Fences(欧拉回路模板)

来源:互联网 发布:知商金融 跑路 编辑:程序博客网 时间:2024/06/05 06:39

用flag记录 度数为奇数点,注意重路。

/*ID:jinbo wuTASK:fenceLANG:C++*/#include<bits/stdc++.h>using namespace std;int g[510][510];stack<int> s;int d[510];void euler(int u){for(int v=1;v<=500;v++){if(g[u][v]){    g[u][v]--;    g[v][u]--;euler(v);s.push(v);}}}int main(){int u,v;int n;freopen("fence.in","r",stdin);freopen("fence.out","w",stdout);cin>>n;for(int i=1;i<=n;i++){cin>>u>>v;g[u][v]++;g[v][u]++;d[u]++;d[v]++;}int flag=1;for(int i=1;i<=500;i++)if(d[i]%2){flag=i;break;}euler(flag);s.push(flag);while(!s.empty()){cout<<s.top()<<endl;s.pop();}}


0 0
原创粉丝点击