POJ 3615

尚在调试中。。。。。

#include<cstdio>
#include<iostream>
#define MAX 299999999
using namespace std;
long long a[301][301];
int main()
{
    int m,n,t;
    int i,j,k;
    scanf("%d %d %d",&n,&m,&t);
    for(i=1;i<=n;i++)
        for(j=1;j<=n;j++)
            a[i][j]=MAX;
    for(i=1;i<=n;i++)
        a[i][i]=0;
    for(i=1;i<=m;i++)
    {
        int x1,x2,x3;
        scanf("%d %d %lld",&x1,&x2,&x3);
        a[x1][x2]=x3;
    }
    for(k=1;k<=n;k++)
        for(i=1;i<=n;i++)
            for(j=1;j<=n;j++)
                if(a[i][j]>a[i][k]+a[k][j])
                    a[i][j]=a[i][k]+a[k][j];
    for(i=1;i<=t;i++)
    {
        int x1,x2;
        scanf("%d %d",&x1,&x2);
        if(a[x1][x2]==MAX)
            printf("-1\n");
        else
            printf("%lld\n",a[x1][x2]);
    }
    return 0;
}


阅读更多
个人分类: 做题网站上的题目
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭