问题标题: 有大佬知道哪错了,谢谢(30分)(最短路)

1
1
已解决
陆麟瑞
陆麟瑞
资深天翼
资深天翼

http://judge.codingtang.com/problem/1275/

#include <bits/stdc++.h>
using namespace std;
int d[900][900];
int main()
{
    int n,a;
    cin>>n>>a;
    for(int i=1; i<=n; i++)
    {
        for(int j=1; j<=n; j++)
        {
            string c;
            int x;
            cin>>c;
            stringstream ss;
            ss << c;
            ss >> x;
            ss.clear();
            if(x!=0||x==0&&c=="0")
            {
                d[i][j]=x;
            }
            else
            {
                d[i][j]=1000000;
            }
        }
    }
    for(int i=1; i<=n; i++)
    for(int j=1; j<=n; j++)
    for(int k=1; k<=n; k++)
    if(i!=j&&i!=k&&j!=k&&d[i][j]>d[i][k]+d[k][j])
    {
        d[i][j]=d[i][k]+d[k][j];
    }
    for(int i=1; i<=n; i++)
    {
        if(i!=a) cout<<"("<<a<<" -> "<<i<<") = "<<d[a][i]<<endl;
    }
    return 0;
}

1
已采纳
葛新
葛新
资深守护
资深守护

这个贴我是不是回答过?

葛新在2018-01-11 11:46:54追加了内容

如果回答过就关了吧

0
0
0
0
我要回答