比赛 2024暑假C班集训A 评测结果 AAAAAAAAAA
题目名称 轮子的旋转 最终得分 100
用户昵称 黄天宇 运行时间 0.035 s
代码语言 C++ 内存使用 3.41 MiB
提交时间 2024-07-10 10:08:25
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
const int MAXN=2010;
priority_queue<pair<int,int> > q;
struct edge{
	int next;
	int to;
	int w;
}e[MAXN];
int num;
int head[MAXN]; 
int n;
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];
void dijstra(){
	dis[1]=0;
	q.push(make_pair(0,1));
	while(!q.empty()){
		int x=q.top().second;
		q.pop();
		if(!vis[x]){
			vis[x]=1;
			for(int i=head[x];i!=0;i=e[i].next){
				int y=e[i].to,z=e[i].w;
				if(dis[y]>dis[x]+z){
					dis[y]=dis[x]+z;
					q.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;i++){
		int u,v,z;
		cin>>u>>v>>z;
		add(u,v,z);
		add(v,u,z);
	}
	dijstra();
	cout<<dis[n]%2<<endl;
	return 0;
}