SHARE
TWEET

Untitled

a guest Aug 22nd, 2019 54 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.util.Arrays;
  5. import java.util.Deque;
  6. import java.util.Iterator;
  7. import java.util.LinkedList;
  8.  
  9. public class IntegerListsDeque {
  10.     public static void main(String[] args) throws IOException {
  11.         BufferedReader scan = new BufferedReader(new InputStreamReader(System.in));
  12.         int n = Integer.parseInt(scan.readLine());
  13.  
  14.  
  15.         for (int i = 0; i < n; i++) {
  16.             boolean error = false;
  17.             boolean reverse = false;
  18.             char[] line = scan.readLine().toCharArray();
  19.             int m = Integer.parseInt(scan.readLine());
  20.             Deque<String> list = new LinkedList<>();
  21.             String[] input = scan.readLine().replace("[", "").replace("]", "").split(",");
  22.             if(!input[0].equals("")) {
  23.                 list.addAll(Arrays.asList(input));
  24.             }
  25.  
  26.             for (int j = 0; j < line.length; j++) {
  27.                 if (line[j] == 'D' && !error) {
  28.                     if (!list.isEmpty()) {
  29.                         if (reverse) {
  30.                             list.removeLast();
  31.                         } else {
  32.                             list.removeFirst();
  33.                         }
  34.                     } else {
  35.                         error = true;
  36.                         break;
  37.                     }
  38.  
  39.                 } else if (line[j] == 'R' && !error) {
  40.                     reverse = !reverse;
  41.  
  42.                 }
  43.             }
  44.             if (error) {
  45.                 System.out.println("error");
  46.  
  47.             } else {
  48.  
  49.                 StringBuilder output = new StringBuilder("[");
  50.                 if (list.isEmpty()) {
  51.                     output.append("]");
  52.                 }
  53.                 if (reverse) {
  54.                     for (Iterator descItr = list.descendingIterator(); descItr.hasNext(); ) {
  55.                         output.append(descItr.next()).append(",");
  56.                     }
  57.                     output.deleteCharAt(output.length() - 1);
  58.                     output.append("]");
  59.                 } else {
  60.                     for (Iterator itr = list.iterator(); itr.hasNext(); ) {
  61.                         output.append(itr.next()).append(",");
  62.                     }
  63.                     output.deleteCharAt(output.length() - 1);
  64.                     output.append("]");
  65.  
  66.                 }
  67.  
  68.                 System.out.println(output);
  69.             }
  70.         }
  71.  
  72.     }
  73. }
RAW Paste Data
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
 
Top