阅读: 27 评论: 0 作者: over 发表于 2009-10-16 14:21 原文链接
在博客里写个做题记录,目的就是希望能够认识更多的大牛们~~![](https://www.cnblogs.com/Emoticons/others/surprise02.gif)
题目要求是一个人要走遍一个农场,每条路都要走两次,但每次的方向都不同。其实就是给定n个点,m条边,双向欧拉回路。
![](https://www.cnblogs.com/Images/OutliningIndicators/ContractedBlock.gif)
Code
1 #line 5"2230.cpp"
2 #include <iostream>
3 #include <vector>
4 using namespace std;
5 struct edge
6 {
7 int v;
8 bool flag;
9 };
10 struct edge temp;
11 vector <edge> map[10001];
12 void DFS(int x)
13 {
14 int i,j;
15 for(i=0; i<map[x].size(); i++)
16 {
17 if(map[x][i].flag == false)
18 {
19 map[x][i].flag = true;
20 DFS(map[x][i].v);
21 }
22 }
23 cout<<x<<endl;
24 }
25 int main()
26 {
27 int m,n,i,a,b;
28 while(cin>>n>>m)
29 {
30 for(i=0; i<m; i++)
31 {
32 cin>>a>>b;
33 temp.v = a;
34 temp.flag = false;
35 map[b].push_back(temp);
36 temp.v = b;
37 temp.flag = false;
38 map[a].push_back(temp);
39 }
40 DFS(1);
41 }
42 return 0;
43 }![](https://www.cnblogs.com/terminatro/aggbug/1584505.html?type=1)
发表评论
新闻频道:ARM架构 Google Netbook更详细规格泄露
推荐链接:Windows 7专题发布
网站导航:博客园首页 个人主页 新闻 社区 博问 闪存 知识库