九度OnlineJudge1006之:ZOJ问题

来源:互联网 发布:腾讯视频无法连接网络 编辑:程序博客网 时间:2024/06/06 02:48
题目描述:
对给定的字符串(只包含'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
#include <iostream>#include <string>#include <algorithm>using namespace std;int main(){string   str;while(cin>>str){size_t a = str.find_first_not_of("o");if (a==string::npos || str[a]!='z'){cout<<"Wrong Answer"<<endl;continue;}size_t b = str.find_first_not_of("o",a+1);if (b==string::npos || b==a+1||str[b]!='j'){cout<<"Wrong Answer"<<endl;continue;}        size_t  c = str.find_first_not_of("o",b+1);if (c!=string::npos){cout<<"Wrong Answer"<<endl;continue;}if (a*(b-a-1)!=str.size()-b-1){cout<<"Wrong Answer"<<endl;continue;}else{cout<<"Accepted"<<endl;continue;}}return 0;}

原创粉丝点击