记录编号 590534 评测结果 AAAAAAAAAA
题目名称 [USACO Oct08] 轮子的旋转 最终得分 100
用户昵称 Gravatar黄天乐 是否通过 通过
代码语言 C++ 运行时间 0.037 s
提交时间 2024-07-10 14:56:14 内存使用 3.36 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int n;
const int MAXN=2e3+5;
struct lst{
   int next;
   int to;
   int w;	
}e[MAXN];
int num;
int head[MAXN];
void add(int from,int to,int w){
	num++;
	e[num].next=head[from];
	e[num].to=to;
	e[num].w=w;
	head[from]=num;
}
bool vis[MAXN];
int dis[MAXN];
priority_queue<pair<int,int> >que;
void d(int x){
	que.push(make_pair(0,x));
	dis[x]=0;
	while(!que.empty()){
		int x=que.top().second;
		que.pop();
		if(!vis[x]){
			vis[x]=1;
			for(int i=head[x];i!=0;i=e[i].next){
				int y=e[i].to;
				int z=e[i].w;
				if(dis[x]+z<dis[y]){
					dis[y]=dis[x]+z;
					que.push(make_pair(-dis[y],y));
				}
			}
		}
	}
}
int main(){
	freopen("rotation.in","r",stdin);
	freopen("rotation.out","w",stdout);
	cin>>n;
	memset(dis,0x3f,sizeof(dis));
	for(int i=1;i<=n-1;i++){
		int u,v,w;
		cin>>u>>v>>w;
		add(u,v,w);
		add(v,u,w);
	}
	d(1);
	cout<<dis[n]%2<<endl;
	return 0;
}