Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.io.BufferedReader;
- import java.io.IOException;
- import java.io.InputStreamReader;
- import java.util.Arrays;
- import java.util.Deque;
- import java.util.Iterator;
- import java.util.LinkedList;
- public class IntegerListsDeque {
- public static void main(String[] args) throws IOException {
- BufferedReader scan = new BufferedReader(new InputStreamReader(System.in));
- int n = Integer.parseInt(scan.readLine());
- for (int i = 0; i < n; i++) {
- boolean error = false;
- boolean reverse = false;
- char[] line = scan.readLine().toCharArray();
- int m = Integer.parseInt(scan.readLine());
- Deque<String> list = new LinkedList<>();
- String[] input = scan.readLine().replace("[", "").replace("]", "").split(",");
- if(!input[0].equals("")) {
- list.addAll(Arrays.asList(input));
- }
- for (int j = 0; j < line.length; j++) {
- if (line[j] == 'D' && !error) {
- if (!list.isEmpty()) {
- if (reverse) {
- list.removeLast();
- } else {
- list.removeFirst();
- }
- } else {
- error = true;
- break;
- }
- } else if (line[j] == 'R' && !error) {
- reverse = !reverse;
- }
- }
- if (error) {
- System.out.println("error");
- } else {
- StringBuilder output = new StringBuilder("[");
- if (list.isEmpty()) {
- output.append("]");
- }
- if (reverse) {
- for (Iterator descItr = list.descendingIterator(); descItr.hasNext(); ) {
- output.append(descItr.next()).append(",");
- }
- output.deleteCharAt(output.length() - 1);
- output.append("]");
- } else {
- for (Iterator itr = list.iterator(); itr.hasNext(); ) {
- output.append(itr.next()).append(",");
- }
- output.deleteCharAt(output.length() - 1);
- output.append("]");
- }
- System.out.println(output);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement