답안 #79346

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
79346 2018-10-12T10:38:30 Z aminra Mousetrap (CEOI17_mousetrap) C++14
25 / 100
1022 ms 86908 KB
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef long double ld;
const int MOD = (int)1e9 + 7;
const int MAXN = (int)1e6 + 7;
const int infint = (int)1e9;
//try for 25 pts.
int n, t, m, dp[MAXN];
vector<int> G[MAXN];
void dfs(int u, int p)
{
	int childs = 0;
	for (auto v : G[u])
		if(v != p)
			childs++;
	if(childs == 0)
	{
		dp[u] = 0;
		return;
	}
	int fir = 0, sec = 0;
	for (auto v : G[u])
	{
		if(v == p)
			continue;
		dfs(v, u);
		if(dp[v] > fir)
			sec = fir, fir = dp[v];
		else
		if(dp[v] > sec)
			sec = dp[v];
	}
	dp[u] = sec + childs;
	return;
}
int main()
{
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
	cin >> n >> t >> m;
	for (int i = 0; i < n - 1; i++)
	{
		int u, v;
		cin >> u >> v;
		G[u].push_back(v);
		G[v].push_back(u);
	}
	dfs(m, t);
	cout << dp[m];
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 23 ms 23800 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 416 ms 59232 KB Output is correct
2 Correct 366 ms 59232 KB Output is correct
3 Correct 1022 ms 60352 KB Output is correct
4 Correct 461 ms 60352 KB Output is correct
5 Correct 966 ms 73612 KB Output is correct
6 Correct 972 ms 86908 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Incorrect 23 ms 23800 KB Output isn't correct
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 23 ms 23800 KB Output isn't correct
2 Halted 0 ms 0 KB -