結果

問題 No.2638 Initial fare
ユーザー forest3forest3
提出日時 2024-03-05 17:46:19
言語 C++14
(gcc 13.3.0 + boost 1.87.0)
結果
TLE  
実行時間 -
コード長 712 bytes
コンパイル時間 1,948 ms
コンパイル使用メモリ 184,016 KB
実行使用メモリ 306,804 KB
最終ジャッジ日時 2024-09-29 18:03:01
合計ジャッジ時間 8,968 ms
ジャッジサーバーID
(参考情報)
judge3 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 4 TLE * 1 -- * 20
権限があれば一括ダウンロードができます

ソースコード

diff #

#include <bits/stdc++.h>
using namespace std;

using ll = long long;
#define rep(i, n) for(ll i = 0; i < n; i++)

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);
	}
	using P = pair<int, int>;
	using T = tuple<int, int, int>;
	set<P> st;
	rep(i, N) {
		queue<T> q;
		q.push(T(i, 0, -1));
		while(q.size()) {
			int u, d, p;
			tie(u, d, p) = q.front();
			q.pop();
			if(d > 2) continue;
			for( int e : g[u]) {
				if(e == p) continue;
				int a = e;
				int b = i;
				if(a > b) swap(a, b);
				st.insert(P(a, b));
				if(d + 1 < 3) q.push(T(e, d + 1, u));
			}
		}
	}
	cout << st.size() << endl;
}
0