蒟蒻求助,来帮忙做一下数据 玄关
  • 板块灌水区
  • 楼主Lian_zy
  • 当前回复15
  • 已保存回复15
  • 发布时间2023/12/30 20:14
  • 上次更新2023/12/30 22:40:37
查看原帖
蒟蒻求助,来帮忙做一下数据 玄关
923248
Lian_zy楼主2023/12/30 20:14

帮帮蒟蒻吧,球球了

题目

代码

#include <vector>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;

const int maxn = 1e6 + 10;
vector<int> G[maxn];
int n, m, x, y, a[maxn], dp[maxn];
void dfs(int u, int f) {
	dp[u] = a[u];
	for (auto v : G[u]) {
		if (v == f) continue;
		dfs(v, u);
		dp[u] = max(dp[u], dp[v]);
	}
	return ;
}
int main() {
	scanf("%d %d", &n, &m);
	for (int i = 1; i < n; i++) {
		scanf("%d %d", &x, &y);
		G[x].push_back(y);
		G[y].push_back(x);
	}
	for (int i = 1; i <= n; i++) scanf("%d", a + i);
	dfs(m, m);
	for (int i = 1; i <= n; i++) printf("%d\n", dp[i]);
	return 0;
}

关注用小号

2023/12/30 20:14
加载中...