码迷,mamicode.com
首页 > 其他好文 > 详细

URAL 1176. Hyperchannels 欧拉回路

时间:2014-08-29 16:02:48      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:http   io   ar   for   html   sp   amp   on   size   

题目来源:URAL 1176. Hyperchannels

题意:求补图的欧拉回路

思路:模版

#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxm = 40010;
const int maxn = 1010;
int first[maxn], cnt;
struct edge
{
	int u, v, next;
}e[maxn*maxn];
int ans[maxm];
bool vis[maxm];
int len;
void AddEdge(int u, int v)
{
	e[cnt].u = u;
	e[cnt].v = v;
	e[cnt].next = first[u];
	first[u] = cnt++;
}

void dfs(int u)
{
	for(int i = first[u]; i != -1; i = e[i].next)
	{
		if(!vis[i])
		{
			vis[i] = true;
			dfs(e[i].v);
			ans[len++] = i;
		}
	}
}
int main()
{
	int n, s;
	while(scanf("%d %d", &n, &s) != EOF)
	{
		memset(first, -1, sizeof(first));
		cnt = 0;
		for(int i = 1; i <= n; i++)
		{
			for(int j = 1; j <= n; j++)
			{
				int x;
				scanf("%d", &x);
				if(!x && i != j)
				{
					AddEdge(i, j);
				}
			}
		}
		memset(vis, 0, sizeof(vis));
		len = 0;
		dfs(s);
		for(int i = len-1; i >= 0; i--)
			printf("%d %d\n", e[ans[i]].u, e[ans[i]].v);
	}
	return 0;
}


 

URAL 1176. Hyperchannels 欧拉回路

标签:http   io   ar   for   html   sp   amp   on   size   

原文地址:http://blog.csdn.net/u011686226/article/details/38926777

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!