acleast
随笔 - 11, 文章 - 0, 评论 - 12, 引用 - 0
数据加载中……
POJ 2230 Watchcow 有向图的欧拉回路
题目大意:从一点经过所有的边两次,且两次的方向不同,又回到起始点,典型的欧拉回路题
1
#include
<
iostream
>
2
using
namespace
std;
3
#define
N 10005
4
struct
node
{
5
int
v;
6
bool
flag;
7
node
*
next;
8
}
;
9
10
node
*
dd[N];
11
node
set
[
10
*
N];
12
int
n,m;
13
14
void
init()
15
{
16
memset(dd,
0
,
sizeof
(dd));
17
scanf(
"
%d%d
"
,
&
n,
&
m);
18
int
u,v;
19
for
(
int
i
=
1
;i
<=
m;i
++
)
{
20
scanf(
"
%d%d
"
,
&
u,
&
v);
21
set
[i].v
=
v;
22
set
[i].flag
=
false
;
23
set
[i].next
=
dd[u];
24
dd[u]
=&
set
[i];
25
26
set
[i
+
m].v
=
u;
27
set
[i
+
m].flag
=
false
;
28
set
[i
+
m].next
=
dd[v];
29
dd[v]
=&
set
[i
+
m];
30
}
31
}
32
33
void
dfs(
int
k)
34
{
35
node
*
p
=
dd[k];
36
while
(p)
{
37
if
(p
->
flag
==
false
)
{
38
p
->
flag
=
true
;
39
dfs(p
->
v);
40
}
41
p
=
p
->
next;
42
}
43
printf(
"
%d\n
"
,k);
44
}
45
46
int
main()
47
{
48
init();
49
dfs(
1
);
50
return
0
;
51
}
posted on 2010-05-03 15:55
acleast
阅读(421)
评论(0)
编辑
收藏
引用
只有注册用户
登录
后才能发表评论。
【推荐】100%开源!大型工业跨平台软件C++源码提供,建模,组态!
网站导航:
博客园
IT新闻
BlogJava
博问
Chat2DB
管理
Powered by:
C++博客
Copyright © acleast
导航
C++博客
首页
新随笔
联系
聚合
管理
<
2010年5月
>
日
一
二
三
四
五
六
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
常用链接
我的随笔
我的评论
我参与的随笔
留言簿
给我留言
查看公开留言
查看私人留言
随笔档案
2010年9月 (1)
2010年5月 (6)
2010年4月 (4)
搜索
最新评论
1. re: POJ 1639 Picnic Planning 最小限度生成树[未登录]
请问官方数据在哪?
--123
2. re: POJ 1639 Picnic Planning 最小限度生成树
@初学者
不用啊,我有用dd数组来标志
--acleast
3. re: POJ 1639 Picnic Planning 最小限度生成树[未登录]
评论内容较长,点击标题查看
--初学者
4. re: POJ 1639 Picnic Planning 最小限度生成树[未登录]
orz神牛,,orz
--waaihun
5. re: POJ 1041 欧拉回路
@ylfdrib
不会吧,这都是我AC的代码啊
--acleast
阅读排行榜
1. POJ 1639 Picnic Planning 最小限度生成树(2419)
2. POJ 1041 欧拉回路(990)
3. poj 3038 Flying Right (693)
4. zju 1484 hdu 1394 求最小逆序(点树)(647)
5. POJ 3686 The Windy's 拆点+KM(439)
评论排行榜
1. POJ 1639 Picnic Planning 最小限度生成树(8)
2. POJ 1041 欧拉回路(2)
3. POJ 2230 Watchcow 有向图的欧拉回路(0)
4. POJ 3686 The Windy's 拆点+KM(0)
5. POJ 1990 MooFest 数状数组(0)