有问题,但是我不是受信任用户反馈不了
查看原帖
有问题,但是我不是受信任用户反馈不了
1693202
Jianfeijian楼主2025/6/26 00:49

简单来说就是本人没读清题目就做题但是过了,反应过来连样例都过不了,它的测试并没有严格观察各点之间是否联通,以下是本人代码,最后输出禁了,希望有权限的人反馈还有解决一下这个问题@洛谷

#include<bits/stdc++.h>
using namespace std;
int main(){
	int n,i,m,j,x,y,t,z=0;
	scanf("%d%d",&n,&m);
	vector<int>a(n+1,0);
	vector<int>b(n+1,0);
	for(i=0;i<m;i++){
		scanf("%d%d%d",&x,&y,&t);
		if(a[x]==0){
			a[x]=t;
		}
		if(a[y]==0){
			a[y]=t;
		}
		if(a[x]>t){
			if(b[x]==0||b[x]>t){
				b[x]=t;
			}
			
		}
		if(a[y]>t){
			if(b[y]==0||b[y]>t){
				b[y]=t;
			}
		}
		
	}
	for(i=1;i<=n;i++){
		if(b[i]!=0&&b[i]>z){
			z=b[i];
		}else if(b[i]==0&&a[i]>z){
			z=a[i];
		}else if(a[i]==0&&b[i]==0){
			z=-1;
			break;
		}
	}
	//printf("%d",z);
	return 0;
}
2025/6/26 00:49
加载中...