提高模拟第三场T3 maze WA0 求浇浇

#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;
}

就是统计有多少个球会经过这个点。