这段代码为何CE
  • 板块学术版
  • 楼主__KevinMZ__
  • 当前回复9
  • 已保存回复10
  • 发布时间2025/2/6 11:37
  • 上次更新2025/2/6 14:48:41
查看原帖
这段代码为何CE
1358215
__KevinMZ__楼主2025/2/6 11:37
#include<bits/stdc++.h>
using namespace std;
#define int long long
int n,m;
vector<pair<int,int>>g[1005];
int dis[1005];
bool vis[1005];
int visit[1005];
void spfa(int s){
    queue<int>q;
    q.push(s);
    dis[s]=0;
    vis[s]=true;
    while(!q.empty()){
        int u=q.front();
        q.pop();
        vis[u]=false;
        for(int i=0;i<g[u].size();i++){
            int v=g[u][i].first,w=g[u][i].second;
            if(dis[v]>dis[u]+w){
                dis[v]=dis[u]+w;
                if(!vis[v]){
                    q.push(v); 
                    vis[v]=true;
                    visit[v]++;
                    if(visit[v]>=n){
                        cout<<"inf";
                        exit(0);
                    }
                } 
            } 
        }
    }
}
signed main(){
    cin>>n>>m;
    for(int i=1;i<=m;i++){
        int u,v,w;
        cin>>u>>v>>w;
        g[u].push_back(make_pair(v,-w));
    } 
    for(int i=1;i<=n;i++){
        dis[i]=1e18; 
    }
    spfa(1);
    cout<<-dis[n];
    return 0;
}
2025/2/6 11:37
加载中...