82ptsWA求调
  • 板块P1807 最长路
  • 楼主_lxc__
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/12/7 19:35
  • 上次更新2024/12/7 21:56:30
查看原帖
82ptsWA求调
1408395
_lxc__楼主2024/12/7 19:35
#include<bits/stdc++.h>
using namespace std;
const int N=1510;
int n,m,dis[N];
struct node{
	int v,w;
};
vector<node> adj[N];
void solve(){
	memset(dis,-0x3f,sizeof(dis));
	dis[1]=0;
	for(int i=1;i<n;i++){
		bool f=1;
		for(int u=1;u<=n;u++){
			for(auto x:adj[u]){
				int v=x.v,w=x.w;
				if(dis[u]+w>dis[v]){
					f=0;
					dis[v]=dis[u]+w;
				}
			}
		}
		if(f) break;
	}
	if(dis[n]!=-0x3f3f3f3f) cout<<dis[n];
	else cout<<-1;
}
int main(){
	cin>>n>>m;
	int u,v,w;
	while(m--){
		cin>>u>>v>>w;
		adj[u].push_back({v,w});
	}
	solve();
	return 0;
}
``
2024/12/7 19:35
加载中...