关于在vjudge上的一个问题,在eclipse上程序可以运行,可是在vj无法通过。

具体问题

给出一张包含n个节点、m条边的无向图(无重边,无自环),请你求出图上两点s,t间的最短路径长度。

其中1<=n<=500,1<=m<=10000,1<=任意边权<=500000;
Input
第一行两个数n,m,分别表示节点数和边数,以空格隔开; 之后m行,每行3个数u,v,w[i],表示点u和v间有一条权值为w[i]的边; 最后一行,两个数s,t表示选择的两个点,以空格隔开。
Output
输出一个数,表示s,t间最短路径的长度。
Sample Input
4 3
1 2 6
1 3 4
2 4 2
3 4
Sample Output
12

import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner s=new Scanner(System.in);
        int n=s.nextInt();
        int m=s.nextInt();
        int x[]=new int[m];
        int y[]=new int[m];
        int w[]=new int[m];
        for(int i=0;i<m;i++) {
            x[i]=s.nextInt();y[i]=s.nextInt();w[i]=s.nextInt();
        }
        int X=s.nextInt();
        int Y=s.nextInt();
        int juzhen[][]=new int[n+1][n+1];
        for(int i=0;i<m;i++) {
            juzhen[x[i]][y[i]]=w[i];
            juzhen[y[i]][x[i]]=juzhen[x[i]][y[i]];
        }
        int dis[]=new int[n+1];
        for(int i=1;i<=n;i++) {
            if(juzhen[X][i]!=0&&i!=X)
                dis[i]=juzhen[X][i];
        }
        for(int i=1;i<=n;i++) {
            if(dis[i]!=0) {
                for(int j=1;j<n+1;j++) {
                    if(juzhen[i][j]!=0&&i!=j) {
                        if(dis[j]==0)
                            dis[j]=dis[i]+juzhen[i][j];
                        if(dis[j]>(dis[i]+juzhen[i][j]))
                            dis[j]=dis[i]+juzhen[i][j];
                    }        
                }
            }
        }
        if(X==Y) 
            System.out.println(0);
        else
            System.out.println(dis[Y]);
    }
}

#在eclipse上我带入好多次其他数,最终结果都是对的,可是vj上一直说我Wrong Answer,实在找不出哪里有问题,希望有人可以帮帮我。


你好,我是有问必答小助手,非常抱歉,本次您提出的有问必答问题,技术专家团超时未为您做出解答


本次提问扣除的有问必答次数,将会以问答VIP体验卡(1次有问必答机会、商城购买实体图书享受95折优惠)的形式为您补发到账户。


因为有问必答VIP体验卡有效期仅有1天,您在需要使用的时候【私信】联系我,我会为您补发。