Guest User

Untitled

a guest
Dec 19th, 2016
714
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 2.54 KB | None | 0 0
  1. import java.io.BufferedReader;
  2. import java.io.IOException;
  3. import java.io.InputStreamReader;
  4. import java.io.PrintWriter;
  5. import java.util.ArrayDeque;
  6. import java.util.Deque;
  7. import java.util.StringTokenizer;
  8.  
  9. public class Voting {
  10.     private void solve() throws IOException {
  11.         int n = readInt();
  12.         char[] s = readString().toCharArray();
  13.         Deque<Long> a = new ArrayDeque<>();
  14.         Deque<Long> b = new ArrayDeque<>();
  15.         for (int i = 0; i < n; i++) {
  16.             if (s[i] == 'D') {
  17.                 a.addLast((long) i);
  18.             } else {
  19.                 b.addLast((long) i);
  20.             }
  21.         }
  22.         while (true) {
  23.             if (a.isEmpty()) {
  24.                 out.println('R');
  25.                 return;
  26.             }
  27.             if (b.isEmpty()) {
  28.                 out.println('D');
  29.                 return;
  30.             }
  31.             if (a.getFirst() < b.getFirst()) {
  32.                 b.removeFirst();
  33.                 a.addLast(a.removeFirst() + n);
  34.             } else {
  35.                 a.removeFirst();
  36.                 b.addLast(b.removeFirst() + n);
  37.             }
  38.         }
  39.     }
  40.  
  41. //------------------------------------------------------------------------------
  42.     public static void main(String[] args) {
  43.         new Voting().run();
  44.     }
  45.  
  46.     private void run() {
  47.         try {
  48.             initIO();
  49.             solve();
  50.             in.close();
  51.             out.close();
  52.         } catch (Throwable e) {
  53.             throw new RuntimeException(e);
  54.         }
  55.     }
  56.  
  57.     private BufferedReader in;
  58.     private StringTokenizer tok;
  59.     private PrintWriter out;
  60.  
  61.     private void initIO() throws IOException {
  62.         in = new BufferedReader(new InputStreamReader(System.in));
  63.         out = new PrintWriter(System.out);
  64. //        in = new BufferedReader(new FileReader(new File("input.txt")));
  65. //        out = new PrintWriter(new File("output.txt"));
  66.     }
  67.  
  68.     private String readString() throws IOException {
  69.         while (tok == null || !tok.hasMoreTokens()) {
  70.             tok = new StringTokenizer(in.readLine());
  71.         }
  72.         return tok.nextToken();
  73.     }
  74.  
  75.     @SuppressWarnings("unused")
  76.     private int readInt() throws IOException {
  77.         return Integer.parseInt(readString());
  78.     }
  79.  
  80.     @SuppressWarnings("unused")
  81.     private long readLong() throws IOException {
  82.         return Integer.parseInt(readString());
  83.     }
  84.  
  85.     @SuppressWarnings("unused")
  86.     private double readDouble() throws IOException {
  87.         return Double.parseDouble(readString());
  88.     }
  89. }
Add Comment
Please, Sign In to add comment