题目1006:ZOJ问题
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:16244
解决:2742
- 题目描述:
- 对给定的字符串(只包含'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”。
- 样例输入:
-
zojozojoozoojoooozoojoooozoojozojooooozojozojoooo
- 样例输出:
-
AcceptedAcceptedAcceptedAcceptedAcceptedAcceptedWrong AnswerWrong Answer
- 来源:
分析:
2种情况输出"Accepted":
1."zoj"
2."xzo..ojx..x"(其中中间o的个数=末尾x的个数)
技巧:找到第一个'z'的位置和第一个'j'的位置,就可以就可以算出第一个'z'和第一个'j'之间的'o'的个数(就是末尾x的个数)
然后构造string s1="xzo..ojx..x"与原字符串比较
substr用法:s.substr(a,b) 返回s[a]开始的(包括s[a])长b的字符串
1 #include2 #include 3 #include 4 #include 5 #include 6 #include 7 using namespace std; 8 int main() 9 {10 string s;11 while(cin>>s){12 string x;13 if(s=="zoj"){14 cout<<"Accepted"< 0){31 x=s.substr(0,tz);32 /*for(i=0;i