結果
問題 |
No.763 Noelちゃんと木遊び
|
ユーザー |
|
提出日時 | 2024-05-04 12:53:42 |
言語 | C++23 (gcc 13.3.0 + boost 1.87.0) |
結果 |
CE
(最新)
AC
(最初)
|
実行時間 | - |
コード長 | 912 bytes |
コンパイル時間 | 12,961 ms |
コンパイル使用メモリ | 829,124 KB |
最終ジャッジ日時 | 2025-03-22 10:43:06 |
合計ジャッジ時間 | 13,899 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
コンパイルエラー時のメッセージ・ソースコードは、提出者また管理者しか表示できないようにしております。(リジャッジ後のコンパイルエラーは公開されます)
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
ただし、clay言語の場合は開発者のデバッグのため、公開されます。
コンパイルメッセージ
g++: fatal error: 強制終了 signal terminated program cc1plus compilation terminated.
ソースコード
#include <bits/stdc++.h> using namespace std; typedef long long ll; #define all(x) (x).begin(), (x).end() #define rall(x) (x).rbegin(), (x).rend() const int MAX = 1e9; const int MIN = -1*1e9; const ll MAXLL = 1e18; const ll MINLL = -1*1e18; vector<bool> F(200010); vector<vector<int>> G(200010); vector DP(200010,vector<int>(2)); void DFS(int n, int v) { for(auto x : G[n]) { if(F[x] || x == v) continue; DFS(x,n); DP[n][0] += max(DP[x][0],DP[x][1]); DP[n][1] += max(DP[x][0]+1,DP[x][1]); } if(G[n].size() == 1 && G[n][0] == v) DP[n][1] = MIN; //cout << n << " " << DP[n][0] << " " << DP[n][1] << endl; return; } int main() { int N; cin >> N; for(int i = 0; i < N-1; i++) { int A,B; cin >> A >> B; G[A].push_back(B); G[B].push_back(A); } DFS(1,-1); cout << max(DP[1][0]+1,DP[1][1]) << endl; return 0; }