結果
| 問題 | 
                            No.806 木を道に
                             | 
                    
| コンテスト | |
| ユーザー | 
                             ugis_prog
                         | 
                    
| 提出日時 | 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;
}
            
            
            
        
            
ugis_prog