這是一棵樹嗎

2021-10-23 18:46:38 字數 1409 閱讀 1586

\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反應得這麼快。現在給出乙個圖的度數序列,你需要做...