對剛學的尤拉迴路的練習。
錯點:
萬一是尤拉路徑不是尤拉迴路的話,不能只選乙個最小的點當起點。要選度數為奇數的兩個點中較小的乙個。
2.\(1\)不一定在連通圖內,不能單純的把\(1\)當做起點。
3.見**中的注釋。
#include#include#include#includeusing namespace std;
const int n = 5005;
int m,n,head[n],tot,tmp[n],t,ans[n];
int st[n],top,s=2e9,du[n];
bool vis[n];
struct edgee[n<<1];
void add(int x,int y)
int main()
for(int i=1;i<=500;i++)
if(du[i]&1)
st[++top]=s;
while(top>0)
else
//這裡找到乙個就要break,因為如果有重邊的話所有的與tmp[1]相連的邊都會被標記
} }for(int i=t;i;i--)
printf("%d\n",ans[i]);
return 0;
}
騎馬修柵欄題解
最近在luogu做了一道叫烏鴉坐飛機騎馬修柵欄的題。farmer john每年有很多柵欄要修理。他總是騎著馬穿過每乙個柵欄並修復它破損的地方。john是乙個與其他農民一樣懶的人。他討厭騎馬,因此從來不兩次經過乙個柵欄。你必須編乙個程式,讀入柵欄網路的描述,並計算出一條修柵欄的路徑,使每個柵欄都恰好被...
騎馬修柵欄 Riding the Fences
可以按正常的輸入然後存入map陣列 ps 如果你用的是萬能頭就不要定義map陣列啦,可以定義乙個f陣列什麼的 這裡就出現和一本通上一筆畫的差距了,是累減,每次記錄就加一而不是賦值為1 因為後面很多地方需要用到點的個數,但是卻沒有輸入所以專門定義乙個maxn來找輸入的最大值就是點的個數啦 includ...
codevs 騎馬修柵欄 2039
題目描述 description farmer john每年有很多柵欄要修理。他總是騎著馬穿過每乙個柵欄並修復它破損的地方。john是乙個與其他農民一樣懶的人。他討厭騎馬,因此從來不兩次經過乙個柵欄。你必須編乙個程式,讀入柵欄網路的描述,並計算出一條修柵欄的路徑,使每個柵欄都恰好被經過一次。john...