1. 程式人生 > >【九度】題目1006:ZOJ問題

【九度】題目1006:ZOJ問題

題目描述:
對給定的字串(只包含'z','o','j'三種字元),判斷他是否能AC。

是否AC的規則如下:
1. zoj能AC;
2. 若字串形式為xzojx,則也能AC,其中x可以是N個'o' 或者為空;
3. 若azbjc 能AC,則azbojac也能AC,其中a,b,c為N個'o'或者為空;
輸入:
輸入包含多組測試用例,每行有一個只包含'z','o','j'三種字元的字串,字串長度小於等於1000。
輸出:
對於給定的字串,如果能AC則請輸出字串“Accepted”,否則請輸出“Wrong Answer”。
樣例輸入:
zoj
ozojo
ozoojoo
oozoojoooo
zooj
ozojo
oooozojo
zojoooo
樣例輸出:
Accepted
Accepted
Accepted
Accepted
Accepted
Accepted
Wrong Answer
Wrong Answer
import java.util.Scanner;

public class main {
	public static void main(String[] args) {
		
		Scanner input = new Scanner(System.in);
		while(input.hasNext()){
			ac(input.next());
			
		}
	}
	
	static void ac(String s){
		if(s.replaceFirst("z", "").replaceFirst("j", "").replace("o", "").equals("")){
			//只包含一個z和j
			String[] ls = s.split("z|j");
			
			if(s.charAt(0)=='z' && s.charAt(s.length()-1)=='j'&&ls.length==2){
				System.out.println("Accepted");
			}else if(s.charAt(0)=='o'&&s.charAt(s.length()-1)=='o'&&ls.length==3&&
					s.indexOf('z')<s.indexOf('j')){
				if(ls[0].length()*ls[1].length()==ls[2].length()){
					System.out.println("Accepted");
				}else{
					System.out.println("Wrong Answer");
				}	
			}else{
				System.out.println("Wrong Answer");
			}
		}else{
			System.out.println("Wrong Answer");
		}
	}
}