第三个数据wa,求调试
查看原帖
第三个数据wa,求调试
1261801
chillylone楼主2024/9/19 17:07
#include<bits/stdc++.h>
using namespace std;
#define INF 0x3f3f3f3f
#define endl '\n'
#define PII pair<int,int>
typedef long long ll;
const int N=1e5+10;
int n,m;
struct edge {int v,w;};
vector<edge> e[N];
queue<int> q;
int d[N],vis[N];

void spfa(int s) {
    memset(d,INF,sizeof d);
    d[s]=0;vis[s]=1;q.push(s);
    while(q.size()) {
        int u=q.front();q.pop();vis[u]=0;
        vis[u]=0;
        for(auto ed : e[u]) {
            int v=ed.v,w=ed.w;
            if(d[v]>d[u]+w) {
                d[v]=d[u]+w;
                if(!vis[v]) vis[v]=1;q.push(v);
            }

        }
    }
    
}

int main() {
    ios::sync_with_stdio(0),cin.tie(0),cout.tie(0);
    int s;
    cin >> n >> m >> s;
    int a,b,c;
    for(int i=1;i<=m;i++) {
        cin >> a >> b >> c;
        e[a].push_back({b,c});
    }
    spfa(s);
    for(int i=1;i<=n;i++) {
        cout << d[i] << ' ';
    }
    return 0;
}
2024/9/19 17:07
加载中...