十分求条(手动狗头)
  • 板块P1001 A+B Problem
  • 楼主yue2012
  • 当前回复3
  • 已保存回复3
  • 发布时间2025/1/19 09:59
  • 上次更新2025/1/19 12:12:37
查看原帖
十分求条(手动狗头)
587197
yue2012楼主2025/1/19 09:59

竟然过了十分!!!

#include<bits/stdc++.h>
using namespace std;
#define int long long 
int n,m,s,f=1e16;
int d[505][505];
void fl(){
	for(int k=1;k<=n;k++){
		for(int i=1;i<=n;i++){
			for(int j=1;j<=n;j++){
				if(i!=k&&j!=k)d[i][j]=min(d[i][j],d[i][k]+d[k][j]);
			}
		}
	}
}
signed main(){
	cin>>n>>m;
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			if(i==j) d[i][j]=0;
			else d[i][j]=1e16;
		}
	}
	for(int i=1;i<=m;i++){
		int x,y,z;
		cin>>x>>y>>z;
		d[x][y]=min(d[x][y],z);
	}
	fl();
	for(int i=1;i<=n;i++){
		for(int j=1;j<=n;j++){
			s^=d[i][j]+f;
		}
	}
	cout<<s;
	return 0;
}

2025/1/19 09:59
加载中...