Advertisement
Guest User

Untitled

a guest
Dec 10th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 3.26 KB | None | 0 0
  1. import java.io.*;
  2. import java.math.BigInteger;
  3. import java.util.*;
  4.  
  5. public class Main implements Runnable {
  6.  
  7.     private void solve() throws IOException {
  8.  
  9.         String[] all = new String[] {
  10.                 "dream",
  11.                 "dreamer",
  12.                 "erase",
  13.                 "eraser"
  14.         };
  15.         String s = reader.readLine();
  16.         boolean[] dp = new boolean[s.length() + 2];
  17.         dp[0] = true;
  18.         for(int i = 1; i <= s.length(); ++i) {
  19.  
  20.             for(int j = 0; j < all.length; ++j) {
  21.  
  22.                 if(i >= all[j].length()) {
  23.                     if(i == all[j].length()) {
  24.                         boolean can = true;
  25.                         for(int z = 0; z < i; ++z) {
  26.                             can &= (all[j].charAt(z) == s.charAt(z));
  27.                         }
  28.                         if(can) {
  29.                             dp[i] = true;
  30.  
  31.                         }
  32.                     } else {
  33.                         if(dp[i-all[j].length()]) {
  34.                             boolean can = true;
  35.                             int id = 0;
  36.                             for(int z = 0; z < all[j].length(); ++z) {
  37.                                 can &= ( all[j].charAt(z) == s.charAt(i-all[j].length() + id));
  38.                                 ++id;
  39.                             }
  40.                             if(can) dp[i] = true;
  41.                         }
  42.                     }
  43.                 }
  44.             }
  45.         }
  46.         if(dp[s.length()]) writer.println("YES");
  47.         else writer.println("NO");
  48.  
  49.  
  50.     }
  51.  
  52.  
  53.  
  54.     public static void main(String[] args) {
  55.         new Main().run();
  56.     }
  57.  
  58.     BufferedReader reader;
  59.     //    BufferedReader reader2;
  60.     StringTokenizer tokenizer;
  61.     PrintWriter writer;
  62.     //    BufferedWriter writer;
  63.  
  64.     public void run() {
  65.         try {
  66.             reader = new BufferedReader(new InputStreamReader(System.in));
  67. //            reader = new BufferedReader(new FileReader("trees.in"));
  68.             //            reader2 = new BufferedReader(new FileReader("1.in"));
  69.             tokenizer = null;
  70.             writer = new PrintWriter(System.out);
  71. //            writer = new     PrintWriter("trees.out");
  72. //                                                    writer = new BufferedWriter(System.out);
  73.             //                        writer = new BufferedWriter(new OutputStreamWriter(System.out));
  74.             solve();
  75.             reader.close();
  76.             //            reader2.close();
  77.             writer.close();
  78.         } catch (Exception e) {
  79.             e.printStackTrace();
  80.             System.exit(1);
  81.         }
  82.     }
  83.  
  84.     int nextInt() throws IOException {
  85.         return Integer.parseInt(nextToken());
  86.     }
  87.  
  88.     long nextLong() throws IOException {
  89.         return Long.parseLong(nextToken());
  90.     }
  91.  
  92.     double nextDouble() throws IOException {
  93.         return Double.parseDouble(nextToken());
  94.     }
  95.  
  96.     short nextShort() throws IOException {
  97.         return Short.parseShort(nextToken());
  98.     }
  99.  
  100.     String nextToken() throws IOException {
  101.         while (tokenizer == null || !tokenizer.hasMoreTokens()) {
  102.             tokenizer = new StringTokenizer(reader.readLine());
  103.         }
  104.  
  105.         return tokenizer.nextToken();
  106.     }
  107.  
  108. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement