先判斷有幾個連通塊嗎,因為已經滿足邊的個數等於頂點個數減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...