WA求助,悬棺

学术版

Ybw0731 @ 2024-11-28 21:33:32

题目地址

错误代码

#include<iostream>
#include<algorithm>
#include<vector>
#include<queue>
#include<utility>
#include<cstdio>
#include<stdio.h>
#define ll long long
using namespace std;
const int N=1e5+5;
const int INF=0x3f3f3f3f;
priority_queue<pair<int,int> ,vector<pair<int,int> >,greater<pair<int,int> > >que;
vector<pair<int,int> >g[N];
int n,m,st,dis[N],cnt[N];
bool vis[N];
void dijkstra(int st){
    for(int i=1;i<=n;i++){
        dis[i]=0;
        vis[i]=0;
    }
    que.push({0,st});
    dis[st]=INF;
    while(!que.empty()){
        pair<int,int> e=que.top();
        que.pop();
        int u=e.second;
        if(vis[u])continue;
        vis[u]=1;
        for(int i=0;i<g[u].size();i++){
            int v=g[u][i].first,w=min(dis[u],g[u][i].second);
            if(w>dis[v]){
                dis[v]=w;
                que.push({dis[v],v});
            }
        }
    }
}
void solve(int s){
    cin>>n>>m;
    for(int i=1;i<=n;i++)g[i].clear();
    for(int i=1;i<=m;i++){
        int u,v,w;
        cin>>u>>v>>w;
        g[u].push_back({v,w});
        g[v].push_back({u,w}); 
    }
    dijkstra(1);
    printf("Scenario #%d:\n%d\n",s,dis[n]);
}
int main(){
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    int T=1;
    cin>>T;
    for(int i=1;i<=T;i++){
        solve(i);
    }
    cout<<endl;
    return 0;
}

求改


|