結果
| 問題 |
No.806 木を道に
|
| コンテスト | |
| ユーザー |
leaf_1415
|
| 提出日時 | 2019-03-22 21:31:22 |
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 647 bytes |
| コンパイル時間 | 698 ms |
| コンパイル使用メモリ | 59,900 KB |
| 実行使用メモリ | 13,440 KB |
| 最終ジャッジ日時 | 2024-09-19 02:52:02 |
| 合計ジャッジ時間 | 2,570 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 2 |
| other | AC * 9 WA * 18 |
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:38:12: warning: ‘root’ may be used uninitialized in this function [-Wmaybe-uninitialized]
38 | dfs(root, -1, 0);
| ~~~^~~~~~~~~~~~~
ソースコード
#include <iostream>
#include <vector>
using namespace std;
int n;
vector<int> G[100005];
int dist[100005];
void dfs(int v, int pre, int d)
{
dist[v] = d;
for(int i = 0; i < G[v].size(); i++){
if(G[v][i] == pre) continue;
dfs(G[v][i], v, d+1);
}
}
int main(void)
{
cin >> n;
int u, v;
for(int i = 0; i < n-1; i++){
cin >> u >> v;
G[u].push_back(v);
G[v].push_back(u);
}
dfs(1, -1, 0);
int mx = 0, root;
for(int i = 1; i <= n; i++){
if(mx < dist[i]){
mx = dist[i];
root = i;
}
}
dfs(root, -1, 0);
int dia = 0;
for(int i = 1; i <= n; i++) dia = max(dia, dist[i]);
cout << (n-1) - dia << endl;
return 0;
}
leaf_1415