#include <iostream>
#include <cstdio>
using namespace std;
const int N = 1e5 + 5;
int n, m, a, b;
int ans[N], fa[N];
char s[N], c;
int find(int x) {
if(fa[x] == x) return x;
return fa[x] = find(fa[x]);
}
int merge(int x, int y) {
fa[find(x)] = find(y);
}
int main() {
cin >> n >> m;
for(int i = 1; i <= n; i ++) {
cin >> s[i];
fa[i] = i;
}
for(int i = 1, u, v; i < n; i ++) {
cin >> u >> v;
if(s[u] == s[v]) merge(u, v);
}
for(int i = 1; i <= m; i ++) {
cin >> a >> b >> c;
if(find(a) == find(b) && s[a] != c) cout << 0;
else cout << 1;
}
return 0;
}
蒟蒻快崩溃了,一直是RE 0pts,求助