PAT甲級題解 1021

2021-10-20 17:44:49 字數 1083 閱讀 8814

先判斷有幾個連通塊嗎,因為已經滿足邊的個數等於頂點個數減1所以一定是一棵樹,只要是1.

本來用的是優先佇列,最後發現沒過,其實是error: k components 少了個s看題目一定要仔細

#include

using

namespace std;

const

int maxn =

10100

;vector<

int> g[maxn]

;int maxdepth =-1

;priority_queue<

int,vector<

int>

,greater<

int>> depthroot;

bool vis[maxn]

;vector<

int> temp;

set <

int> s;

;int n;

int root;

void

dfs(

int u,

int depth)

else

if(depth == maxdepth)

for(

int i =

0;i.size()

;i++)}

}int

main

(void

)int num =0;

int s1 =0;

fill

(vis,vis + maxn,

false);

for(

int i =

1;i<=n;i++

)for

(int k =

0;ksize()

;k++)}

}}if(num ==1)

for(

auto it = s.

begin()

; it != s.

end(

); it++

)printf

("%d\n"

,*it);}

else

return0;

}

PAT甲級題解目錄

寫在前面 9月8號剛參加了第一次pat甲級考試,成績還算是滿意。但是沒有滿分,算是有一點小遺憾,於是打算12月再來一次,但是這次採用佛系備考與吃老本的複習方法 畢竟初試重要啊 為了記錄一下成長歷程和各題要點,順便做乙個部落格題解,也給有需要的戰友們提供乙個參考吧。本部落格純屬個人記錄與經驗分享,不帶...

PAT甲級題解1004

注意的是m代表的是the number of non leaf nodes 要看清楚題意,一開始把n m認為是輸入的行數了 利用vector特性 題意大致是尋找每層葉結點的個數,dfs遍歷這棵樹,遍歷時統計即可。include using namespace std const int maxn 1...

PAT甲級題解 1032

鍊錶遍歷 實質上是找到第乙個在ab之中都出現的點,因為從這個點開始所有接下來的點都是指向的同乙個東西,剛剛開始的時候沒有仔細觀察把題目想難了 include using namespace std const int maxn 100010 struct node node maxn map cha...