結果
問題 |
No.806 木を道に
|
ユーザー |
![]() |
提出日時 | 2019-03-22 22:52:53 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
WA
|
実行時間 | - |
コード長 | 715 bytes |
コンパイル時間 | 627 ms |
コンパイル使用メモリ | 73,880 KB |
実行使用メモリ | 9,680 KB |
最終ジャッジ日時 | 2024-09-19 06:18:05 |
合計ジャッジ時間 | 2,394 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 7 WA * 20 |
ソースコード
#include<iostream> #include<algorithm> #include<vector> #include<queue> using namespace std; int main(){ int N; cin >> N; vector<vector<int>> G(N); vector<bool> visited(N,false); for(int i=0;i<N-1;i++){ int a,b; cin >> a >> b; a--, b--; G[a].push_back(b); G[b].push_back(a); } queue<pair<int,int>> Q; Q.push({0,0}); int dia = 0; while(!Q.empty()){ pair<int,int> p = Q.front(); Q.pop(); for(int to : G[p.first]){ if(visited[to]) continue; visited[to] = true; dia = max(dia,p.second+1); Q.push({to,p.second+1}); } } cout << N-dia-1 << endl; }