Untitled

 avatar
unknown
plain_text
a year ago
1.7 kB
4
Indexable
public class Solution {
	static int N, E, K , T;
	static int len = 201;
	static double[][] arr = new double[len][len];
	static double[][] timeXacSuat = new double[len][len];
	
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		for (int tcid = 1; tcid <= 15; tcid++) {
			N = sc.nextInt();	//so phong ban
			E = sc.nextInt();	//so mui ten
			K = sc.nextInt();	//time kang
			T = sc.nextInt();	//time = minutes
			reset();
			for (int i = 0; i < E; i++) {
				int dinh1 = sc.nextInt();
				int dinh2 = sc.nextInt();
				arr[dinh1][dinh2] = sc.nextDouble();
				
			}
			
			//node
			timeXacSuat[1][0] = 1;
			for(int t = 1; t <= T/10; t++){
				for(int i = 1; i <= N; i++){
					if(timeXacSuat[i][t-1] != 0){
						for(int j = 1; j <= N; j++){
							if(arr[i][j] != 0){
								timeXacSuat[j][t] += timeXacSuat[i][t-1]*arr[i][j];
							}
						}
					}
				}
			}
			//Jang start tai 0, Kang tai K
			//10p di chuyen 1 lan
			int jangTime = T/10, kangTime = (T-K)/10;
			int jangD = 0, kangD = 0;
			double jangXS = 0, kangXS = 0;
			for(int i = 1; i <= N; i++){
				if(timeXacSuat[i][jangTime] > jangXS){
					jangXS = (double) timeXacSuat[i][jangTime];
					jangD = i;
				}
				if(timeXacSuat[i][kangTime] > kangXS){
					kangXS = (double) timeXacSuat[i][kangTime];
					kangD = i;
				}
			}
			
			System.out.print("#" + tcid + " ");
			System.out.printf("%d %.6f %d %.6f\n", jangD, jangXS, kangD, kangXS);
		}
		sc.close();
	}
	
	
	private static void reset(){
		for(int i = 0; i < arr.length; i++){
			for(int j = 0; j < arr[i].length; j++){
				arr[i][j] = 0;
				timeXacSuat[i][j] = 0;
			}
		}
	}
}
Editor is loading...
Leave a Comment