結果
問題 |
No.2638 Initial fare
|
ユーザー |
|
提出日時 | 2024-05-06 14:52:23 |
言語 | C++14 (gcc 13.3.0 + boost 1.87.0) |
結果 |
TLE
|
実行時間 | - |
コード長 | 819 bytes |
コンパイル時間 | 1,493 ms |
コンパイル使用メモリ | 177,688 KB |
実行使用メモリ | 297,284 KB |
最終ジャッジ日時 | 2024-11-28 22:10:02 |
合計ジャッジ時間 | 49,295 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 12 TLE * 13 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i, n) for (int i = 0; i < (int)(n); i++) using pii = pair<int, int>; int main() { int N; cin >> N; vector<vector<int>> g(N); rep(i, N-1) { int u, v; cin >> u >> v; u--; v--; g[u].push_back(v); g[v].push_back(u); } auto dfs = [&](auto dfs, int s, int n, vector<int> &seen) { seen.push_back(s); if (n == 3) return; for (int d : g[s]) { if (find(seen.begin(), seen.end(), d) != seen.end()) continue; dfs(dfs, d, n+1, seen); } return; }; set<pii> p; rep(i, N) { vector<int> seen; dfs(dfs, i, 0, seen); for (int j : seen) { if (j == i) continue; if (i < j) p.insert({i, j}); else p.insert({j, i}); } } cout << (int)p.size() << endl; return 0; }