| 比赛 | 2024暑假C班集训A | 评测结果 | AAAAAAAAAA | 
    | 题目名称 | 轮子的旋转 | 最终得分 | 100 | 
    | 用户昵称 | wdsjl | 运行时间 | 0.054 s | 
    | 代码语言 | C++ | 内存使用 | 3.59 MiB | 
    | 提交时间 | 2024-07-10 10:32:59 | 
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
const int N = 1010;
struct node{
    int s_i;
    int d_i;
    int c_i;
}belt[N];
deque <int> q;
int a[N],n,used[N];
int main(){
    freopen("rotation.in","r",stdin);
    freopen("rotation.out","w",stdout);
    scanf("%d",&n);
    int j=0;
    for(int i=1;i<n;i++){
        scanf("%d%d%d",&belt[i].s_i,&belt[i].d_i,&belt[i].c_i);
    } 
    a[1]=0;
    q.push_back(1);
    while(q.size()){
        for(int i=1;i<n;i++){
            if(used[i]==0&&belt[i].s_i==q.front()){
                a[belt[i].d_i]=(a[belt[i].s_i]+belt[i].c_i)%2;
                q.push_back(belt[i].d_i);
                used[i]++;
            }
        } 
        q.pop_front();
    }  
    printf("%d",a[n]);
}