Untitled

 avatar
unknown
plain_text
a year ago
719 B
6
Indexable
#include <bits/stdc++.h>

using namespace std;

const int MAXN = 4005; 

vector<int> g[MAXN];
string flags;
bool visited[MAXN];
int ans, u, v;

int DFS(int cur, int par) {
    int sum = 1;
    for (auto nbr: g[cur]) {
        if (nbr != par) sum += DFS(nbr, cur);
    }
    if (flags[cur-1] == 'R') ans = min(ans, sum);
    return sum;
}

int main() {
    ios::sync_with_stdio(false); cin.tie(0);
    int N;
    cin >> N;
    for (int i = 1; i <= N-1; ++i) {
        cin >> u >> v;
        g[u].push_back(v);
        g[v].push_back(u);
    }

    cin >> flags;

    for (int i = 1; i <= N; ++i) {
        ans = INT_MAX;
        DFS(i, -1);
        cout << N - ans << "\n";
    }
}
Editor is loading...
Leave a Comment