丘跳
  • 板块灌水区
  • 楼主cmpt_xiaoxiao
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/3/10 18:37
  • 上次更新2024/3/10 20:24:59
查看原帖
丘跳
954694
cmpt_xiaoxiao楼主2024/3/10 18:37

RT\color{red}R\color{blue}T

题目题目 :

WA码WA码 :

#include<iostream>
#include<vector>
#include<queue>
#include<cstring>
using namespace std;
int n,m;
int dis[2001];
bool inq[2001];
struct node{
	int v,w;
};
vector<node>edge[2001];
bool spfa(int s){
	queue<int>q;
	dis[s]=0;
	q.push(s);
	inq[s]=1;
	int cnt[2001]={};
	while(!q.empty()){
		int u=q.front();
		q.pop();
		inq[u]=0;
		if(cnt[u]>n) return 1;
		for(auto [v,w]:edge[u]){
			if(dis[v]<dis[u]+w){
				dis[v]=dis[u]+w;
				cnt[v]=cnt[u]+1;
				if(!inq[v]){
					q.push(v);
					inq[v]=1;
				}
			}

		}
	}
	return 0;
}
int main(){
	int n,m;
	cin>>n>>m;
	for(int i=1;i<=m;i++){
		int u,v,w;
		cin>>u>>v>>w;
		edge[u].push_back({v,w});
	}
	memset(dis,0xc0c0c0c0,sizeof(dis));
	memset(inq,0,sizeof(inq));
	if(spfa(1)) cout<<"INF";
	else cout<<dis[n];
	return 0;
}
2024/3/10 18:37
加载中...