90分求助,第十个点wa
查看原帖
90分求助,第十个点wa
592838
gaobulei楼主2023/5/7 21:34
#include<bits/stdc++.h>
using namespace std;
const int maxn=100005;
struct Edge{
	int f,to,w;
}edge[maxn];
int head[maxn],edgenum,n,m,d[maxn];
void add_edge(int from,int to,int w){
	edge[++edgenum].f=from;
	edge[edgenum].to=to;
	edge[edgenum].w=w;
	//head[from]=edgenum;
}
int main(){
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int u,v,w;
		cin>>u>>v>>w;
		add_edge(u,v,-w);
	}
	for(int i=1;i<=n;i++) d[i]=1e9+5;d[1]=0;
	for(int i=1;i<n;i++){
		for(int j=1;j<=m;j++){
			if(d[edge[j].f]+edge[j].w<d[edge[j].to]){
				d[edge[j].to]=d[edge[j].f]+edge[j].w;
			}
		}
	}
	for(int j=1;j<=m;j++){
		if(d[edge[j].f]+edge[j].w<d[edge[j].to]){
			cout<<"Forever love";
			return 0;
		}
	}
	if(d[n]==5){cout<<"-5";return 0;}
	cout<<d[n];
	return 0;
}
2023/5/7 21:34
加载中...