九度OnlineJudge1006之: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
#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; }
补充:软件开发 , C++ ,