update tests
This commit is contained in:
@@ -19,4 +19,4 @@ jobs:
|
|||||||
|
|
||||||
- name: Run Sum tests
|
- name: Run Sum tests
|
||||||
run: |
|
run: |
|
||||||
java -ea -cp out reverse.ReverseTest Base
|
java -ea -cp out reverse.ReverseTest Base 3233 3435
|
||||||
|
|||||||
43
java/reverse/FastScanner.java
Normal file
43
java/reverse/FastScanner.java
Normal file
@@ -0,0 +1,43 @@
|
|||||||
|
package reverse;
|
||||||
|
|
||||||
|
import java.io.BufferedReader;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStreamReader;
|
||||||
|
|
||||||
|
public class FastScanner {
|
||||||
|
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
|
||||||
|
String line = null;
|
||||||
|
int pos = 0;
|
||||||
|
|
||||||
|
boolean hasNextLine() throws IOException {
|
||||||
|
if (line != null && pos < line.length()) return true;
|
||||||
|
line = br.readLine();
|
||||||
|
pos = 0;
|
||||||
|
return line != null;
|
||||||
|
}
|
||||||
|
|
||||||
|
boolean hasNextInt() {
|
||||||
|
if (line == null) return false;
|
||||||
|
while (pos < line.length() && Character.isWhitespace(line.charAt(pos))) pos++;
|
||||||
|
return pos < line.length();
|
||||||
|
}
|
||||||
|
|
||||||
|
int nextInt() {
|
||||||
|
while (pos < line.length() && Character.isWhitespace(line.charAt(pos))) pos++;
|
||||||
|
int start = pos;
|
||||||
|
boolean negative = line.charAt(pos) == '-';
|
||||||
|
if (negative) pos++;
|
||||||
|
|
||||||
|
while (pos < line.length() && Character.isDigit(line.charAt(pos))) pos++;
|
||||||
|
|
||||||
|
int result = 0;
|
||||||
|
for (int i = negative ? start + 1 : start; i < pos; i++) {
|
||||||
|
result = result * 10 + (line.charAt(i) - '0');
|
||||||
|
}
|
||||||
|
return negative ? -result : result;
|
||||||
|
}
|
||||||
|
|
||||||
|
void nextLine() {
|
||||||
|
pos = line.length();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -40,42 +40,4 @@ public class Reverse {
|
|||||||
}
|
}
|
||||||
out.flush();
|
out.flush();
|
||||||
}
|
}
|
||||||
|
|
||||||
static class FastScanner {
|
|
||||||
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
|
|
||||||
String line = null;
|
|
||||||
int pos = 0;
|
|
||||||
|
|
||||||
boolean hasNextLine() throws IOException {
|
|
||||||
if (line != null && pos < line.length()) return true;
|
|
||||||
line = br.readLine();
|
|
||||||
pos = 0;
|
|
||||||
return line != null;
|
|
||||||
}
|
|
||||||
|
|
||||||
boolean hasNextInt() {
|
|
||||||
if (line == null) return false;
|
|
||||||
while (pos < line.length() && Character.isWhitespace(line.charAt(pos))) pos++;
|
|
||||||
return pos < line.length();
|
|
||||||
}
|
|
||||||
|
|
||||||
int nextInt() {
|
|
||||||
while (pos < line.length() && Character.isWhitespace(line.charAt(pos))) pos++;
|
|
||||||
int start = pos;
|
|
||||||
boolean negative = line.charAt(pos) == '-';
|
|
||||||
if (negative) pos++;
|
|
||||||
|
|
||||||
while (pos < line.length() && Character.isDigit(line.charAt(pos))) pos++;
|
|
||||||
|
|
||||||
int result = 0;
|
|
||||||
for (int i = negative ? start + 1 : start; i < pos; i++) {
|
|
||||||
result = result * 10 + (line.charAt(i) - '0');
|
|
||||||
}
|
|
||||||
return negative ? -result : result;
|
|
||||||
}
|
|
||||||
|
|
||||||
void nextLine() {
|
|
||||||
pos = line.length();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
46
java/reverse/ReverseEven.java
Normal file
46
java/reverse/ReverseEven.java
Normal file
@@ -0,0 +1,46 @@
|
|||||||
|
package reverse;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
public class ReverseEven {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrintWriter out = new PrintWriter(System.out);
|
||||||
|
for (int i = linesCount - 1; i >= 0; i--) {
|
||||||
|
int[] line = lines[i];
|
||||||
|
for (int j = line.length - 1; j >= 0; j--) {
|
||||||
|
if ((i + j) % 2 == 0) {
|
||||||
|
if (j < line.length - 1) out.print(" ");
|
||||||
|
out.print(line[j]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.println();
|
||||||
|
}
|
||||||
|
out.flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
44
java/reverse/ReverseMaxC.java
Normal file
44
java/reverse/ReverseMaxC.java
Normal file
@@ -0,0 +1,44 @@
|
|||||||
|
package reverse;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
public class ReverseMaxC {
|
||||||
|
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;
|
||||||
|
}
|
||||||
|
|
||||||
|
PrintWriter out = new PrintWriter(System.out);
|
||||||
|
for (int i = linesCount - 1; i >= 0; i--) {
|
||||||
|
int[] line = lines[i];
|
||||||
|
for (int j = line.length - 1; j >= 0; j--) {
|
||||||
|
if (j < line.length - 1) out.print(" ");
|
||||||
|
out.print(line[j]);
|
||||||
|
}
|
||||||
|
out.println();
|
||||||
|
}
|
||||||
|
out.flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
52
java/reverse/ReverseRotate.java
Normal file
52
java/reverse/ReverseRotate.java
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
package reverse;
|
||||||
|
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.PrintWriter;
|
||||||
|
import java.util.Arrays;
|
||||||
|
|
||||||
|
public class ReverseRotate {
|
||||||
|
public static void main(String[] args) throws IOException {
|
||||||
|
FastScanner sc = new FastScanner();
|
||||||
|
int[][] lines = new int[8][];
|
||||||
|
int linesCount = 0;
|
||||||
|
int maxCols = 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;
|
||||||
|
|
||||||
|
if (count > maxCols) {
|
||||||
|
maxCols = count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
PrintWriter out = new PrintWriter(System.out);
|
||||||
|
|
||||||
|
for (int j = 0; j < maxCols; j++) {
|
||||||
|
for (int i = linesCount - 1; i >= 0; i--) {
|
||||||
|
if (lines[i].length > j) {
|
||||||
|
out.print(lines[i][j] + " ");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
out.println();
|
||||||
|
}
|
||||||
|
|
||||||
|
out.flush();
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,2 +0,0 @@
|
|||||||
1 2
|
|
||||||
3
|
|
||||||
Reference in New Issue
Block a user