Submission #1018913


Source Code Expand

import java.util.Scanner;

/**
 *
 * @author Cummin
 */
public class Main {
    static String C[] = {"dream", "dreamer", "erase", "eraser" } ;
    static int len[] = {5,7,5,6} ;
    static char[] s ;
    static int ptr ;
    static char [][] c ;
    public static void main(String[] args) {
        String S ;
        Scanner sc = new Scanner(System.in);
        S = sc.next();
        s = S.toCharArray() ;
        c = new char[4][] ;
        for (int i=0 ; i<4 ;i++) {
            c[i] = C[i].toCharArray() ;
        }
        ptr = S.length()-1 ;
        while (0<=ptr) {
            switch (s[ptr]) {
                case 'm' :
                    if (match(0)) ptr = ptr -5 ; // dream
                    break;
                case 'e' :
                    if (match(2)) ptr = ptr -5 ; // erase
                    break ;
                case 'r' :
                    if (match(1)) { // deramer
                        ptr = ptr - 7 ; 
                        break ;
                    }
                    if (match(3)) { // eraser
                        ptr = ptr - 6 ;
                        break; 
                    }
                default :
                    ptr = -999 ;
            }
        }
        if (ptr == -1 ) {
            System.out.println("YES") ;
        } else {
            System.out.println("NO") ;
        }        
    }
    static boolean match(int i) {
        int flag = 0 ;
        int ptr2 = ptr ;
        for (int k=len[i]-1 ; 0<=k; k--  ) {
            if (s[ptr2] == c[i][k]) {
                ptr2 -- ;
                continue ;
            } else {
                flag = -1 ;
                break ;        
            }
        }
        if (flag == -1) return false ;
        else return true ;
    }
    
}

Submission Info

Submission Time
Task C - Daydream
User Cummin
Language Java8 (OpenJDK 1.8.0)
Score 300
Code Size 1836 Byte
Status AC
Exec Time 195 ms
Memory 14108 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 3
AC × 19
Set Name Test Cases
Sample subtask0_0.txt, subtask0_1.txt, subtask0_2.txt
All subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_12.txt, subtask1_13.txt, subtask1_14.txt, subtask1_15.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt
Case Name Status Exec Time Memory
subtask0_0.txt AC 123 ms 9552 KiB
subtask0_1.txt AC 122 ms 9556 KiB
subtask0_2.txt AC 124 ms 9552 KiB
subtask1_0.txt AC 167 ms 13228 KiB
subtask1_1.txt AC 179 ms 14108 KiB
subtask1_10.txt AC 174 ms 13000 KiB
subtask1_11.txt AC 178 ms 13532 KiB
subtask1_12.txt AC 181 ms 13520 KiB
subtask1_13.txt AC 185 ms 13628 KiB
subtask1_14.txt AC 172 ms 12628 KiB
subtask1_15.txt AC 174 ms 12756 KiB
subtask1_2.txt AC 172 ms 12692 KiB
subtask1_3.txt AC 180 ms 13644 KiB
subtask1_4.txt AC 170 ms 13252 KiB
subtask1_5.txt AC 195 ms 13424 KiB
subtask1_6.txt AC 179 ms 13532 KiB
subtask1_7.txt AC 172 ms 12620 KiB
subtask1_8.txt AC 174 ms 12628 KiB
subtask1_9.txt AC 176 ms 13428 KiB