public static int[] dijsktra(int[][] weight, int start) {
		int n = weight.length;
		String[] path = new String[n]; // From Start to others' path
		int[] shortPaht = new int[n]; // From Start to others' short path length
		boolean[] isVisted = new boolean[n];

		for (int i = 0; i < path.length; i++) {
			path[i] = new String(start + "-->" + i);
		}
		shortPaht[0] = 0;
		isVisted[0] = true;

		for (int i = 0; i < n - 1; i++) {// Add n-1 point
			int k = -1; // current short path point
			int distanseMin = Integer.MAX_VALUE;
			for (int j = 0; j < n; j++) {
				if (isVisted[j] == false && weight[start][j] < distanseMin) {
					distanseMin = weight[start][j];
					k = j;
				}
			}
			shortPaht[k] = distanseMin;
			isVisted[k] = true;
			for (int j = 0; j < n; j++) {
				if (isVisted[j] == false
						&& weight[start][k] + weight[k][j] < weight[start][j]) {
					weight[start][j] = weight[start][k] + weight[k][j];
					path[j] = path[k] + "-->" + j;
				}
			}

		}
		for (int i = 0; i < n; i++) {
			System.out.println("from" + start + "to" + i + " short path："
					+ path[i]);
		}
		System.out.println("=====================================");
		return shortPaht;
	}