题目1006:ZOJ问题
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:14782
解决:2482
- 题目描述:
-
对给定的字符串(只包含'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
- 来源:
- 2010年浙江大学计算机及软件工程研究生机试真题
- 思路:注意开始o的个数、中间o的个数、结尾o的个数,这3者之间的关系!
-
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner cin = new Scanner(System.in); String str; while(cin.hasNext()) { str = cin.next(); int len = str.length(); int s1 = 0,s2=0,i=0; int z1=0,j1=0; for(i=0;i<len;i++) { if(str.charAt(i)=='z') z1++; if(str.charAt(i)=='j') j1++; } if(!(z1==1&&j1==1)) { System.out.println("Wrong Answer"); continue; } for(i=0;i<len;i++) { if(str.charAt(i)=='z') { s1=i; } if(str.charAt(i)=='j') { s2=i-s1-1; break; } } if(s1*s2==len-i-1&&s2!=0) System.out.println("Accepted"); else System.out.println("Wrong Answer"); } cin.close(); } }