您的位置:首页 > 其它

UVa 291 - The House Of Santa Claus

2012-11-14 13:20 309 查看
题目:欧拉回路。

分析:简单题、搜索。

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

int G[6][6] = {0};

int save[9];

void dfs( int s, int n, int d, int e )
{
	if ( d == e ) {
		for ( int i = 0 ; i < e ; ++ i )
			printf("%d",save[i]);
		printf("%d\n",s);
		return;
	}
	save[d] = s;
	for ( int i = 1 ; i <= n ; ++ i )
		if ( G[s][i] ) {
			G[s][i] = 0;
			G[i][s] = 0;
			dfs( i, n, d+1, e );
			G[s][i] = 1;
			G[i][s] = 1;
		}
}

int main()
{
	G[1][2] = G[2][1] = 1;
	G[1][3] = G[3][1] = 1;
	G[1][5] = G[5][1] = 1;
	G[2][3] = G[3][2] = 1;
	G[2][5] = G[5][2] = 1;
	G[3][4] = G[4][3] = 1;
	G[3][5] = G[5][3] = 1;
	G[4][5] = G[5][4] = 1;
	
	dfs( 1, 5, 0, 8 );
	return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: