結果
問題 | No.2532 Want Play More |
ユーザー |
![]() |
提出日時 | 2023-11-05 12:41:24 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 136 ms / 2,000 ms |
コード長 | 694 bytes |
コンパイル時間 | 2,987 ms |
コンパイル使用メモリ | 246,272 KB |
実行使用メモリ | 28,416 KB |
最終ジャッジ日時 | 2024-09-25 22:25:25 |
合計ジャッジ時間 | 6,899 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 26 |
ソースコード
#include<bits/stdc++.h> using namespace std; using ll = long long; int n; vector<int> g[2<<17]; int dp[2<<17][2]; void dfs(int ni,int p){ dp[ni][1] = 1e9; for(auto&to:g[ni]) if(to!=p){ dfs(to,ni); dp[ni][0] = max(dp[ni][0],dp[to][1]); dp[ni][1] = min(dp[ni][1],dp[to][0]); } if(dp[ni][1]==1e9) dp[ni][1] = 0; dp[ni][0] += 1; dp[ni][1] += 1; return ; } int main(){ cin.tie(nullptr); ios::sync_with_stdio(false); 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); } dfs(0,-1); cout<<dp[0][0]-1<<"\n"<<dp[0][1]-1<<"\n"; }