Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package MultidimensionalArrays2;
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import java.util.Scanner;
- import static java.lang.System.in;
- public class Crossfire {
- public static void main(String[] args) throws IOException {
- Scanner scanner = new Scanner(in);
- BufferedReader reader = new BufferedReader(new InputStreamReader(in));
- int[] dimensions = Arrays
- .stream(reader.readLine().split(" "))
- .mapToInt(Integer::parseInt)
- .toArray();
- List<List<Integer>> matrix = new ArrayList<>();
- int count = 1;
- for (int i = 0; i < dimensions[0]; i++) {
- matrix.add(new ArrayList<>());
- for (int j = 0; j < dimensions[1]; j++) {
- matrix.get(i).add(count++);
- }
- }
- String input;
- while (!"Nuke it from orbit".equals(input = reader.readLine())) {
- int[] data = Arrays
- .stream(input.split(" "))
- .mapToInt(Integer::parseInt)
- .toArray();
- int row = data[0];
- int col = data[1];
- int radius = data[2];
- for (int i = row - radius; i <= row + radius; i++) {
- if (isInRange(i, col, matrix) && i != row) {
- matrix.get(i).remove(col);
- }
- }
- for (int i = col + radius; i >= col - radius; i--) {
- if (isInRange(row, i, matrix)) {
- matrix.get(row).remove(i);
- }
- }
- matrix.removeIf(List::isEmpty);
- }
- for (List<Integer> integers : matrix) {
- for (Integer integer : integers) {
- System.out.print(integer + " ");
- }
- System.out.println();
- }
- }
- private static boolean isInRange(int row, int col, List<List<Integer>> matrix) {
- return row >= 0 && row < matrix.size() && col >= 0 && col < matrix.get(row).size();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment