\operatorname
luogut
1453
00/ ssl比賽 1516
\operatorname
ssl比賽1
516dd 和 qq 在玩遊戲, dd 在地上畫了一棵樹(圖論中的樹),然後他告訴 qq 這棵樹的度數序列。 qq 馬上說這不是一棵樹。 dd 認為自己被 qq 鄙視了,他們吵了起來。
但 dd 隨後發現自己算錯了度數序列, qq 說的是對的。 dd 很奇怪為什麼 qq 反應得這麼快。
現在給出乙個圖的度數序列,你需要做的就是像 qq 一樣:判斷這是否可能是一棵樹的度數序列。
輸入只有一行,首先給出乙個整數 n
nn ,表示頂點個數,後面跟著 n
nn 個整數,表示這個圖的度數序列,每個數不超過 100
10010
0 。如果輸入可能是一棵樹的度數序列,則輸出 「possible」 ,否則輸出 「impossible」 。
1
0
possible
2
11
possible
322
2
impossible
312
1
possible
對於 100
%100\%
100%
的資料,有 1≤n
≤100
1\le n\le 100
1≤n≤10
0 。這道題就一道很好做的推論題。
我們可以知道,每個點的度數一定要大於 0
00 。
(這個地方我當時沒想到還因為可以這樣而組成不了樹,就只有 80
8080
了,qaq)
(不過當 n=1
n=1n=
1 的時候那個單獨的點度數要為 0
00 )
接著,可以知道樹的邊數就是 n−1
n-1n−
1 ,那我們再判斷一下 (n−
1)∗2
(n-1)*2
(n−1)∗
2 是否等於度數,就可以判斷出來了。
#include
using
namespace std;
int n, a[
101]
, sum;
intmain()
}if(sum &1)
if(sum ==
(n -1)
*2)else
return0;
}
Luogu 這是一棵樹嗎 數論
dd和qq在玩遊戲,dd在地上畫了一棵樹 圖論中的樹 然後他告訴qq這棵樹的度數序列。qq馬上說這不是一棵樹。dd認為自己被qq鄙視了,他們吵了起來。但dd隨後發現自己算錯了度數序列,qq說的是對的。dd很奇怪為什麼qq反應得這麼快。現在給出乙個圖的度數序列,你需要做的就是像qq一樣 判斷這是否可能...
並查集 4104 這是一棵樹嗎
判斷是不是樹 輸入 每輸入一對都為0的數時,表示一組資料輸入完畢。每條邊有一對正整數表示,第乙個數為有向邊的起始邊,第二個數為有向邊的終止點。一對負數的輸入就表示輸入的結束。輸出 每組測試資料輸出一行判斷結果,若輸入的圖為樹,則輸出 case k is a tree.否則輸出 case k is n...
樹論 JZOJ 2745 這是一棵樹嗎
傳送門 description dd和qq在玩遊戲,dd在地上畫了一棵樹 圖論中的樹 然後他告訴qq這棵樹的度數序列。qq馬上說這不是一棵樹。dd認為自己被qq鄙視了,他們吵了起來。但dd隨後發現自己算錯了度數序列,qq說的是對的。dd很奇怪為什麼qq反應得這麼快。現在給出乙個圖的度數序列,你需要做...