Advertisement
Guest User

Untitled

a guest
Oct 28th, 2018
177
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.08 KB | None | 0 0
  1. package com.company;
  2.  
  3. import java.util.Arrays;
  4. import java.util.Iterator;
  5. import java.util.List;
  6. import java.util.Scanner;
  7. import java.util.stream.Collectors;
  8.  
  9. public class ExerBombNumbers {
  10.     public static void main(String[] args) {
  11.         Scanner scan = new Scanner(System.in);
  12.  
  13.         List<Integer> numbers = Arrays.stream(scan.nextLine().split(" "))
  14.                 .map(Integer::parseInt)
  15.                 .collect(Collectors.toList());
  16.  
  17.         String[] bombPower = scan.nextLine().split(" ");
  18.         int bomb = Integer.parseInt(bombPower[0]);
  19.         int power = Integer.parseInt(bombPower[1]);
  20.         int bombs = 0;
  21.         for (int i = 0; i <= numbers.size(); i++) {
  22.             if (numbers.contains(bomb)) {
  23.                 bombs++;
  24.             }
  25.         }
  26.  
  27.         //detonate
  28.         numbers = detonation(numbers, bomb, power);
  29.  
  30.         for (int i = 0; i < numbers.size(); i++) {
  31.             if (numbers.get(i) == bomb){
  32.                 numbers.remove(i);
  33.                 i = 0;
  34.             }
  35.         }
  36.  
  37.         //sum
  38.         int total = 0;
  39.         for (int i = 0; i < numbers.size(); i++) {
  40.             total += numbers.get(i);
  41. //            System.out.print(numbers.get(i) + " ");
  42.         }
  43.         System.out.println(/*"| " + */total);
  44.     }
  45.  
  46.     public static List<Integer> detonation(List<Integer> mineField, int bomb, int power) {
  47.         for (int i = 0; i < mineField.size(); i++) {
  48.             if (mineField.get(i) == bomb) {
  49.                 //removeRight
  50.                 for (int r = i + 1; r <= i + power; r++) {
  51.                     try {
  52.                         mineField.remove(r);
  53.                     } catch (Exception e) {
  54.                         break;
  55.                     }
  56.                 }
  57.                 //removeLeft
  58.                 for (int l = i - 1; l >= i - power; l--) {
  59.                     try {
  60.                         mineField.remove(l);
  61.                     } catch (Exception e) {
  62.                         break;
  63.                     }
  64.                 }
  65.             }
  66.         }
  67.         return mineField;
  68.     }
  69. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement