听灌多
  • 板块灌水区
  • 楼主Bluish_Light
  • 当前回复5
  • 已保存回复5
  • 发布时间2024/6/2 14:51
  • 上次更新2024/6/2 17:01:11
查看原帖
听灌多
1030776
Bluish_Light楼主2024/6/2 14:51

P1807 最长路

64分,WA#1#2#7#8

CodeCode

#include<bits/stdc++.h>
using namespace std;
long long n,m,u,v,w,in[1505],x,y,vis[1505]={1000000005};
vector<int>p[1505];
vector<int>bq[1505];
queue<int>q;
int main(){
	ios::sync_with_stdio(false);
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		cin>>u>>v>>w;
		p[u].push_back(v);
		bq[u].push_back(w);
		in[v]++;
	}
	if(!in[n]) {
		cout<<"-1";
		return 0;
	}
	for(int i=1;i<=n;i++) if(!in[i]) q.push(i),vis[i]=0;
	while(!q.empty()){
		x=q.front();
		q.pop();
		for(int i=0;i<p[x].size();i++){
			in[p[x][i]]--;
			vis[p[x][i]]=max(vis[p[x][i]],vis[x]+bq[x][i]);
			if(!in[p[x][i]]) q.push(p[x][i]);
		}
	}
	cout<<vis[n];
	return 0;
}

总所周知,题目板块没有人

2024/6/2 14:51
加载中...