結果
問題 | No.763 Noelちゃんと木遊び |
ユーザー |
![]() |
提出日時 | 2019-03-26 23:38:41 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 93 ms / 2,000 ms |
コード長 | 564 bytes |
コンパイル時間 | 1,496 ms |
コンパイル使用メモリ | 162,172 KB |
実行使用メモリ | 15,104 KB |
最終ジャッジ日時 | 2025-03-22 10:35:50 |
合計ジャッジ時間 | 3,928 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 22 |
ソースコード
#include <bits/stdc++.h> using namespace std; int N; vector<int> G[100010]; bool remv[100010]; void dfs(int u, int p) { remv[u] = false; for(int v : G[u]) if(v != p) dfs(v, u); if(~p && !remv[u]) remv[p] = true; } int main() { cin >> N; for(int i = 0; i < N-1; ++i) { int u, v; cin >> u >> v; --u, --v; G[u].push_back(v); G[v].push_back(u); } if(N < 3) { cout << 1 << endl; return 0; } int root = 0; while(G[root].size() < 2) ++root; dfs(root, -1); cout << count(remv, remv+N, false) << endl; return 0; }