华为最后一题,没有测试例,不知道哪里错了,求解?

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.Scanner;

public class Main{
	public static void main(String[] args){
		Scanner sc = new Scanner(System.in);
		int[][] p = {{0,2,10,5,3,1000},{1000,0,12,1000,1000,10},{1000,1000,0,1000,7,1000},
				{2,1000,1000,0,2,1000},{4,1000,1000,1,0,1000},{3,1000,1,1000,2,0}};
		while(sc.hasNext()){
			int x = sc.nextInt();
			int y = sc.nextInt();
			if(x == 5 ){
				System.out.println("0");
				System.out.println("[5]");
				continue;
			}
			if(x == y){
				System.out.println("1000");
				System.out.println("[]");
				continue;
			}
			if(y != 0){
				for(int i=0; i<6; i++){
					if(i!=y-1){
						p[i][y-1] = 1000;
						p[y-1][i] = 1000;
					}
				}
			}
			boolean[][] pb = new boolean[6][6];
			ArrayList<String> list = new ArrayList<String>();
			int time = 0;
			String path = "";
			getMin(p, pb, 4, x-1, list, time, path);
			
			if(list.size() == 0){
				System.out.println("1000");
				System.out.println("[]");
				continue;
			}
			int index = 0;
			int min=1000;
			for(int i=0; i<list.size() ; i++){
				String s = list.get(i);
				String[] ss1 =s.split(" ");
				int temp = Integer.valueOf(ss1[0]);
				if(min>temp){
					min = temp;
					index = i;
				}
			}
			String s = list.get(index);
			String[] ss1 =s.split(" ");
			System.out.println(ss1[0]);
			System.out.println("[5"+ss1[1]+"]");
			
		}
	}
	public static ArrayList<String> getMin(int[][] p,boolean[][] pb,int x, int y,ArrayList<String> list,int time,String path){
		if(x == y){
			list.add(String.valueOf(time)+" "+path);
			return list;
		}
		for(int j=0; j<6; j++){
			if(j == x || p[x][j] == 1000 || pb[x][j] == true){
				continue;
			}
			pb[x][j] = true;
			path = path +","+(j+1);
			time += p[x][j];
			getMin(p, pb, j, y, list, time, path);
		}
		return list;
	}

}

全部评论
逗号后面要有一个空格
点赞 回复 分享
发布于 2017-03-24 21:19
path = path +","+(j+1); 很坑的一个地方是,逗号后要有个空格。。。。
点赞 回复 分享
发布于 2017-03-24 21:19
转成List直接输出就不用考虑格式的问题了
点赞 回复 分享
发布于 2017-03-24 21:33
真实™服了 估计过的那个测试用例就是唯一一个没有路径的
点赞 回复 分享
发布于 2017-03-24 21:34
不知道你有没有考虑5城市大雾的时候也是不可到达
点赞 回复 分享
发布于 2017-03-24 21:50
很强
点赞 回复 分享
发布于 2017-03-25 12:18

相关推荐

01-15 13:52
已编辑
河南大学 Java
CoderEcho:牌子✌🏻
点赞 评论 收藏
分享
只写bug的程序媛:人家说一本以上,不是及以上
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务