Untitled
unknown
plain_text
2 years ago
2.3 kB
10
Indexable
import java.util.Scanner;
public class Solution {
public static float[][] Time = new float[101][101];
public static float[][] matrix = new float[101][101];
public static int N = 0;
public static int E = 0;
public static int K = 0;
public static int T = 0;
public static void main(String[] args) throws Exception {
Scanner sc = new Scanner(System.in);
for (int tc = 1; tc <= 10; tc++) {
N = sc.nextInt();
E = sc.nextInt();
K = sc.nextInt();
T = sc.nextInt();
for (int i = 0; i <= N; i++) {
for (int j = 0; j <= N; j++) {
matrix[i][j] = 0f;
}
}
for (int i = 0; i < E; i++) {
int start = sc.nextInt();
int end = sc.nextInt();
matrix[start][end] = sc.nextFloat();
}
// for (int i = 0; i <= N; i++) {
// for (int j = 0; j <= N; j++) {
// System.out.print(matrix[i][j] + " ");
// }
// System.out.println();
// }
// System.out.println();
for (int i = 1; i <= N; i++) {
for (int j = 0; j <= T/10; j++) {
Time[i][j] = 0f;
}
}
Time[1][0] = 1f;
// for (int i = 1; i <= N; i++) {
// for (int j = 0; j <= T/10; j++) {
// System.out.print(Time[i][j] + " ");
// }
// System.out.println();
// }
// System.out.println();
for (int t = 1; t <= T/10; t++) {
for (int i = 1; i <= N; i++) {
if (Time[i][t - 1] != 0) {
for (int j = 1; j <= N; j++) {
if (matrix[i][j] != 0) {
Time[j][t] += Time[i][t - 1] * matrix[i][j];
}
}
}
}
}
// for (int i = 1; i <= N; i++) {
// for (int j = 0; j <= T/10; j++) {
// System.out.print(Time[i][j] + " ");
// }
// System.out.println();
// }
int timeJ = T/10;
int timeK = (T - K)/10;
float maxJ = 0f;
float maxK = 0f;
int indexJ = 0;
int indexK = 0;
for (int i = 1; i <= N; i++) {
if (maxJ < Time[i][timeJ]) {
maxJ = Time[i][timeJ];
indexJ = i;
}
if (maxK < Time[i][timeK]) {
maxK = Time[i][timeK];
indexK = i;
}
}
System.out.print("#" + tc + " " + indexJ + " ");
System.out.printf("%.6f ", maxJ);
System.out.print(indexK + " ");
System.out.printf("%.6f ", maxK);
System.out.println();
}
}
}Editor is loading...
Leave a Comment