add solution for hw3:4142 & tests
This commit is contained in:
@@ -19,4 +19,4 @@ jobs:
|
||||
|
||||
- name: Run Reverse tests
|
||||
run: |
|
||||
java -ea -cp out reverse.ReverseTest Base 3233 3435 3637 3839
|
||||
java -ea -cp out reverse.ReverseTest Base 3233 3435 3637 3839 4142
|
||||
|
||||
67
java/reverse/ReverseAvg.java
Normal file
67
java/reverse/ReverseAvg.java
Normal file
@@ -0,0 +1,67 @@
|
||||
package reverse;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.Arrays;
|
||||
|
||||
public class ReverseAvg {
|
||||
public static void main(String[] args) throws IOException {
|
||||
FastScanner sc = new FastScanner();
|
||||
int[][] lines = new int[8][];
|
||||
int linesCount = 0;
|
||||
|
||||
while (sc.hasNextLine()) {
|
||||
int[] line = new int[8];
|
||||
int count = 0;
|
||||
|
||||
while (sc.hasNextInt()) {
|
||||
if (count >= line.length) {
|
||||
line = Arrays.copyOf(line, line.length * 2);
|
||||
}
|
||||
line[count++] = sc.nextInt();
|
||||
}
|
||||
sc.nextLine();
|
||||
|
||||
line = Arrays.copyOf(line, count);
|
||||
|
||||
if (linesCount >= lines.length) {
|
||||
lines = Arrays.copyOf(lines, lines.length * 2);
|
||||
}
|
||||
lines[linesCount++] = line;
|
||||
}
|
||||
|
||||
printResult(linesCount, lines);
|
||||
}
|
||||
|
||||
private static void printResult(int linesCount, int[][] lines) {
|
||||
PrintWriter out = new PrintWriter(System.out);
|
||||
|
||||
for (int i = 0; i < linesCount; i++) {
|
||||
int[] line = lines[i];
|
||||
|
||||
for (int j = 0; j < line.length; j++) {
|
||||
if (j > 0) out.print(" ");
|
||||
|
||||
long sum = 0;
|
||||
long count = 0;
|
||||
|
||||
for (int m = 0; m < lines[i].length; m++) {
|
||||
sum += lines[i][m];
|
||||
count++;
|
||||
}
|
||||
|
||||
for (int k = 0; k < linesCount; k++) {
|
||||
if (k != i && lines[k].length > j) {
|
||||
sum += lines[k][j];
|
||||
count++;
|
||||
}
|
||||
}
|
||||
|
||||
out.print(sum / count);
|
||||
}
|
||||
out.println();
|
||||
}
|
||||
|
||||
out.flush();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user