#include<bits/stdc++.h>
#define int long long
using namespace std;
const int maxn = 5e5 + 10;
int ch[maxn][2];char opt[maxn];
int in[maxn];int cnt[maxn];
int n,m;
signed main()
{
cin >> n >> m;
for(int i = 1;i <= n;i++)cin >> opt[i] >> ch[i][0] >> ch[i][1];
for(int i = 1;i <= n;i++)in[ch[i][0]]++,in[ch[i][1]]++;
queue<int> q;q.push(1);cnt[1] = m;
while(!q.empty())
{
int u = q.front();q.pop();
for(int i = 0;i < 2;i++)
{
if(!ch[u][i])break;
cnt[ch[u][i]] += cnt[u] / 2 + (cnt[u] & 1 ? (opt[i] == 'L' ? !i : i) : 0);
if(!--in[ch[u][i]])q.push(ch[u][i]);
}
}
for(int i = 1;i <= n;i++)cout << (cnt[i] & 1 ? (opt[i] == 'L' ? 'R' : 'L') : opt[i]);
return 0;
}
就是统计有多少个球会经过这个点。