程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> hdu 1116 歐拉路

hdu 1116 歐拉路

編輯:C++入門知識

一個有向圖存在歐拉路:

在有向圖中,如果圖是弱連通的,並且圖中除開兩個頂點,其他所有頂點的入度等於出度,並且這兩個點中,一個點入度比出度多1,另一個點出度比入度少1,那麼該圖存在歐拉路,這是個充要條件。


這個題中還要判斷是是否連通,用並查集 記錄判斷下即可。


#include
#include
#include
using namespace std;

int in[50],out[50];
int root[50];

void init()
{
	for(int i=0;i<=25;i++){
		root[i]=i;
	}
}

int find(int x)
{
	int temp=root[x];
	if(x==root[x]) return x;
	else{
		return root[x]=find(root[x]);
	}
}

int main()
{
	int t;
	scanf("%d",&t);
	while(t--){
		int n,i;
		init();
		memset(in,0,sizeof(in));
		memset(out,0,sizeof(out));
		char s[2000];
		scanf("%d",&n);
		getchar();
		for(i=0;i

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved