poj1386 poj2513 尤拉迴路

2021-06-23 03:43:22 字數 1919 閱讀 8061

------------------------------poj1386和poj2513是同乙個型別

poj1836:

視為求有向的尤拉通路(並非尤拉迴路)

判別方法

①所有的點入度==出度或者②只有有兩個入度減出度為1和-1的兩個節點(終點,開點)其他點入度==出度則存在尤拉通路

由於這題需要用完全部的單詞,所以要判斷圖是否全部連通,即用並查集即可判斷有多少個集合。

**:

/*

將乙個單詞的首位和末位視為乙個頂點,則中間的單詞則是一條邊.

那麼只需要記錄下首位的出度和末位的入度,資料量就變成了26個.

用used記錄下這個字母是否出現

*/#include #include #include #include #include #include #include #include #include#include #include using namespace std;

typedef long long ll;

bool used[26];

int f[26];

int indegree[26];

int outdegree[26];

inline void read(int &m)//int

while(ch>='0'&&ch<='9')

m=x*f;

}int find(int x)

bool concect()

int main()

int one=0;//出度比入度多一

int done=0;//入度比出度多一

bool flag=1;

for(int i=0;i<26;i++)

if(indegree[i]-outdegree[i]==1&&++done>=2) //檢查相差幾個單位

if(outdegree[i]-indegree[i]==1&&++one>=2)

}if(one!=done) flag=0;

if(!concect()) flag=0; //是否連通

if(flag)

printf("ordering is possible.\n");

else

printf("the door cannot be opened.\n");

} return 0;

}

poj2513

視為求無向圖尤拉通路

無向圖存在尤拉路的充要條件為:

①     圖是連通的;

②     所有節點的度為偶數,或者有且只有兩個度為奇數的節點。

由於這道題不能用map對映string的id,所以只能用字典樹來對映

當然由於還要用完全部的火柴,也需要判斷是否全部連通--並查集

#include #include #include #include #include #include #include #include #include#include #include using namespace std;

typedef long long ll;

const int maxn=510010;

int f[maxn];

int degree[maxn];

int color=0;

struct trie

};int insert_get(trie *root,char *ch)

p=p->next[ch[i]-'a'];

} if(!p->flag)

return p->id;

}int find(int x)

int connect()

int main()

{ trie *root=new trie;

for(int i=0;i

poj1386 尤拉迴路)

題目鏈結 解題思路 把每個單詞當成是一條有向邊。把首字母和尾字母當成是節點,如果該字母是乙個單詞的首字母,該字母的入度就加一,如果是尾字母,該字母的出度就加一。然後判斷是否形成尤拉迴路即可。尤拉路徑判斷條件 首先該圖必須是連通圖。對於無向圖,所有頂點的讀都為偶數,對於有向圖,要麼所有頂點的入度等於出...

POJ 1386 判斷尤拉迴路

題意 要開啟一扇門,n個單詞是密碼,n個單詞中,如果乙個單詞的首字母和前乙個單詞的尾字母相同,並且每個單詞都能這麼連起來且只用一次,則門可以開啟,否則不能開啟,現給出單詞,判斷門是否可以開。有向圖尤拉通路充要條件 d為有向圖,d的基圖連通,並且所有頂點的出度與入度都相等 或者除兩個頂點外,其餘頂點的...

POJ 1386 尤拉迴路,尤拉通路,變相DNF

此題用了我一天,說明我的基礎知府還是不夠紮實 考點 尤拉迴路和尤拉通路,加變相dnf 前提 要是連通圖 用dnf,每一步兩頭搜 尤拉迴路,要求圖的每乙個點的出度和入度一樣,尤拉通路,要求圖的起點的出度比入度大1,終點的出度比入度少於1 include include include using na...