求助Floyd,0分
查看原帖
求助Floyd,0分
355559
FutureThx楼主2020/9/4 20:23

本来想用 FloydFloyd 搞个 7070 分练手,但万万没想到WAWA 了,求助大佬

代码:

#include <iostream>
using namespace std;
int main(){
    int n,m,s,e[1001][1001],inf = 0x3f3f3f3f;
    cin >> n >> m >> s;
    for(int i = 1;i <= n;i++)
        for(int j = 1;j <= n;j++)
            e[i][j] = i == j ? 0 : inf;
    for(int i = 1;i <= m;i++){
        int t1,t2,t3;
        cin >> t1 >> t2 >> t3;
        e[t1][t2] = t3;
    }
    for(int k = 1;k <= n;k++)
        for(int i = 1;i <= n;i++)
            for(int j = 1;j <= n;j++)
                e[i][j] = min(e[i][j],e[i][k] + e[k][j]);
    for(int i = 1;i <= n;i++)
        cout << e[s][i] << " ";
    cout << endl;
    return 0;
}

几乎模板,但却错了,第一个数据输入是:

5 15 5
2 5 181
1 5 98
4 2 49
3 2 262
4 3 26
2 4 192
5 1 221
2 2 254
4 4 233
1 5 44
5 4 67
4 2 214
1 1 47
1 1 118
5 4 3

正确:

221 52 29 3 0

我的代码:

221 217 29 3 0
2020/9/4 20:23
加载中...