尤拉路小結 JZYZOJ1210 騎馬修柵欄

2022-05-26 22:15:09 字數 2354 閱讀 3883

現在寫到尤拉路,理解起來並不算特別困難...吧...

但是非常噁心的是每次都要除錯半天,做不到一遍兩遍就能ac

每次寫程式都對於程式的整體構架沒有清晰的思路,想到**寫到**真的是個非常差的習慣[儘管在寫不出來的時候非常有用],所以快點改掉吧.

似乎也沒有什麼特別困難的部分,相關的題在oj上是p1209-p1211

陣列一定要記得稍微開大一點,不要順手就打乙個資料範圍上去,很初級也很常見的錯誤

應該深入理解一下dfs之後記錄的作用,但是我到現在還不理解

以p1210為例

☆騎馬修柵欄

描述 description

農民john每年有很多柵欄要修理。他總是騎著馬穿過每乙個柵欄並修復它破損的地方。 

john是乙個與其他農民一樣懶的人。他討厭騎馬,因此從來不兩次經過同乙個柵欄。你必須編乙個程式,讀入柵欄網路的描述,並計算出一條修柵欄的路徑,使每個柵欄都恰好被經過一次。john能從任何乙個頂點(即兩個柵欄的交點)開始騎馬,在任意乙個頂點結束。 

每乙個柵欄連線兩個頂點,頂點用1到500標號(雖然有的農場並沒有500個頂點)。乙個頂點上可連線任意多(>=1)個柵欄。所有柵欄都是連通的(也就是你可以從任意乙個柵欄到達另外的所有柵欄)。 

你的程式必須輸出騎馬的路徑(用路上依次經過的頂點號碼表示)。我們如果把輸出的路徑看成是乙個500進製的數,那麼當存在多組解的情況下,輸出500進製表示法中最小的乙個 (也就是輸出第乙個數較小的,如果還有多組解,輸出第二個數較小的,等等)。 

輸入格式 input format

第1行: 乙個整數f(1 <= f <= 1024),表示柵欄的數目 

第2到f+1行: 每行兩個整數i, j(1 <= i,j <= 500)表示這條柵欄連線i與j號頂點。 

輸出格式 output format

輸出應當有f+1行,每行乙個整數,依次表示路徑經過的頂點號。注意資料可能有多組解,但是只有上面題目要求的那一組解是認為正確的。

樣例輸入 sample input

樣例輸出 sample output

時間限制 time limitation

1s注釋 hint

字典序最小的尤拉路

給乙個例子:

** source

usaco 3.3.1

flag

accepted

題號

p1210

型別(?)

圖結構通過

58人提交

205次

通過率

28%難度1提交

討論題解

資料**如下[裡面有非常不必要的東西..但是都這樣了也懶得改回去了]

1 #include2 #include3 #include4 #include5

using

namespace

std;

6int maxn=0;7

int tail=0;8

int flag=0;9

intf,ss;

10int sta[510]={};

11int sum[510]={};

12int woc[510][510]={};

13int mos[510][510]={};

14int cun[510]={};

15void mydfs(int x,int

k)27}28

}29}30

}31intmain()

40if(y>maxn)

43 sum[x]++;

44 sum[y]++;

45 mos[y][++mos[y][0]]=x;

46 mos[x][++mos[x][0]]=y;

47 woc[x][y]+=1

;48 woc[y][x]+=1;49

}50for(int i=1;i<=maxn;i++)54}

55int f1=0;56

for(int i=1;i<=500;i++)61}

62if(f1!=0)66

else

70return0;

71 }

view code

尤拉迴路,尤拉路

參考以上 判斷尤拉路,尤拉迴路 注意圖聯通,可以dfs 或者並查集 一 無向圖 尤拉迴路 每個頂點度數都是偶數 尤拉路 所有點度數為偶數,或者只有2 個點度數為奇數 二 有向圖 非混合 尤拉迴路 每個頂點入度等於出度 尤拉路 每個頂點入度等於出度 或者只有1 個點入度比出度小 1,從這點出發,只有 ...

尤拉路 尤拉迴路

1 尤拉路 在乙個連通圖中存在一條路,經過途中所有邊一次且僅一次,這條路叫做尤拉路。2 尤拉迴路 在乙個連通圖中存在一條路,經過途中所有邊一次且僅一次,出發點亦是終點,這樣的路是尤拉迴路。1 無向圖有一條尤拉路 圖是連通的,且全部的結點的度是偶數 就是尤拉迴路的情況 或只有兩個結點的度是奇數。2 無...

尤拉函式小結

概念 尤拉函式用希臘字母 表示,n 表示n的尤拉函式 對 n 的值,我們可以通俗地理解為小於n且與n互質的數的個數 包含1 性質 1 對於素數p,p p 1 2 對乙個正整數n分解質因數 n p1 q1 p2 q2 pn qn 則 n n 1 1 p1 1 1 p2 1 1 pn 分解質因數模板 分...