30分求调
查看原帖
30分求调
1475432
func2024楼主2025/7/27 09:14
#include<bits/stdc++.h>
using namespace std;
int n,m;
struct aa{
	int z;
	int x;
	int c;
}b[100010];
struct yy{
	int sf;
	int jy;
}y[20010];

bool q(aa a,aa b){
	return a.c>b.c;
}
int main(){
	cin>>n>>m;
	for(int i=0;i<n;i++){
		y[i].sf=0;
		y[i].jy=0;
	}
	
	for(int i=0;i<m;i++){
		int o,p,l;
		cin>>o>>p>>l;
		o--;
		p--;
		b[i].z=o;
		b[i].x=p;
		b[i].c=l;
		
	}
	sort(b,b+m,q);
	for(int i=0;i<m;i++){
		if(y[b[i].z].jy==y[b[i].x].jy&&y[b[i].z].sf==0&&y[b[i].x].sf==0){
			y[b[i].z].sf=1;
			y[b[i].x].sf=1;
			y[b[i].z].jy=1;
		}else if(y[b[i].z].jy==y[b[i].x].jy&&y[b[i].z].sf==1&&y[b[i].x].sf==1){
			cout<<b[i].c;
			return 0;
		}else if(y[b[i].z].jy==y[b[i].x].jy&&(y[b[i].z].sf==1||y[b[i].x].sf==1)){
			if(y[b[i].z].sf==1){
				if(y[b[i].z].jy==1){
					y[b[i].x].jy=0;
				}else{
					y[b[i].x].jy=1;
				}
			}else{
				if(y[b[i].x].jy==1){
					y[b[i].z].jy=0;
				}else{
					y[b[i].z].jy=1;
				}
			}
			y[b[i].z].sf=1;
			y[b[i].x].sf=1;
		}
	}
	cout<<0;
	return 0;
}
2025/7/27 09:14
加载中...