Advertisement
jwrbg

abv

May 29th, 2019
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.71 KB | None | 0 0
  1. import java.util.ArrayList;
  2. import java.util.Arrays;
  3. import java.util.List;
  4. import java.util.Scanner;
  5. import java.util.stream.Collectors;
  6.  
  7. public class FuncionInfernoIII {
  8.     public static void main(String[] args) {
  9.         Scanner scanner = new Scanner(System.in);
  10.         List<Integer>gems= Arrays.stream(scanner.nextLine().split("\\s+")).map(Integer::parseInt).collect(Collectors.toList());
  11.        List<Integer>manipulated=new ArrayList<>();
  12.  
  13.  
  14.         while(true){
  15.             String[]input=scanner.nextLine().split(";");
  16.             String command=input[0];
  17.             if(command.equals("Forge")){
  18.                 break;
  19.             }
  20.             String filter=input[1];
  21.             int parameter=Integer.parseInt(input[2]);
  22.             if(parameter==0){
  23.                 continue;
  24.             }
  25.             switch (command){
  26.                 case"Exclude":
  27.                     manipulated.clear();
  28.                     manipulated.addAll(gems);
  29.                     sum(filter,parameter,gems);
  30.                 break;
  31.                 case"Reverse":
  32.                     gems.clear();
  33.                     gems.addAll(manipulated);
  34.                     break;
  35.             }
  36.  
  37.         }
  38.         gems.stream().forEach(a->{
  39.             System.out.print(a+" ");
  40.         });
  41.     }
  42.     public static void sum(String filter,int parameter,List<Integer>gems){
  43.         switch (filter){
  44.             case"Sum Left":
  45.                 if(gems.get(0)==parameter){
  46.                     gems.remove(0);
  47.                     return;
  48.                 }
  49.                 for (int i = 1; i <gems.size() ; i++) {
  50.                    if(gems.get(i)+gems.get(i-1)==parameter){
  51.                        gems.remove(i);
  52.  
  53.                    }
  54.  
  55.                 }
  56.                 break;
  57.             case"Sum Right":
  58.                 if(gems.get(gems.size()-1)==parameter){
  59.                     gems.remove(gems.size()-1);
  60.                     return;
  61.                 }
  62.                 for (int i = 0; i <gems.size()-1 ; i++) {
  63.                     if(gems.get(i)+gems.get(i+1)==parameter){
  64.                         gems.remove(i);
  65.  
  66.                     }}
  67.                 break;
  68.             case"Sum Left Right":
  69.                 if(gems.get(gems.size()-1)+gems.get(gems.size()-2)==parameter){
  70.                     gems.remove(gems.size()-1);
  71.                 }
  72.                 if(gems.get(0)+gems.get(1)==parameter){
  73.                     gems.remove(0);
  74.                 }
  75.                 for (int i = 1; i <gems.size()-1 ; i++) {
  76.                     if(gems.get(i)+gems.get(i+1)+gems.get(i-1)==parameter){
  77.                         gems.remove(i);
  78.  
  79.                     }
  80.  
  81.                 }
  82.  
  83.                 break;
  84.  
  85.         }
  86.  
  87.     }
  88. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement