ac被re吃掉了

P1462 通往奥格瑞玛的道路

发飙的蜗牛 @ 2018-07-21 16:16:02

#include<bits/stdc++.h>
using namespace std;
int min1=999999;
int map1[1002][1002],money[1002],vis[1002];
int main()
{
    int n,m,b;
    cin>>n>>m>>b;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=m;j++)
        {
            if(i==j) map1[i][j]=0;
            else map1[i][j]=min1;
        }
    }
    for(int i=1;i<=n;i++)
    {
        cin>>money[i];
    }
    int ai,bi,ci;
    for(int i=1;i<=n;i++)
    {
        cin>>ai>>bi>>ci;
        map1[ai][bi]=ci;
    }
    int money1=0;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=n;j++)
        {
            for(int k=1;k<=n;k++)
            {
                if(map1[i][j]>map1[i][k]+map1[k][j])
                {
                    map1[i][j]=map1[i][k]+map1[k][j];
                    vis[i]=1;
                    vis[j]=1;
                    vis[k]=1;
                }
            }
        }
    }
    if(map1[1][n]>=b)
    {
        printf("AFK");
    }
    else
    {
        for(int i=1;i<=n;i++)
        {
            if(vis[i]==1)
            {
                money1=max(money1,money[i]);
            }
        }
        printf("%d",money1);
    }
    return 0;
}

大佬请看,帮我纠纠错,在下感激不尽。orz


by 斗神·君莫笑 @ 2018-07-21 16:20:39

滴滴,似乎您数组不够


by 发飙的蜗牛 @ 2018-07-21 22:46:05

@斗神·君莫笑 但是,不就爆了吗


by forever_shi @ 2018-08-04 19:45:53

@发飙的蜗牛 要用邻接表存图,这道题不能用邻接矩阵


by 发飙的蜗牛 @ 2018-08-05 14:55:43

@forever誓 好吧,我去试试,谢谢


|