水题
Problem Description
对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC。
是否AC的规则如下:
1. zoj能AC;
2. 若字符串形式为xzojx,则也能AC,其中x可以是N个'o' 或者为空;
3. 若azbjc 能AC,则azbojac也能AC,其中a,b,c为N个'o'或者为空;
是否AC的规则如下:
1. zoj能AC;
2. 若字符串形式为xzojx,则也能AC,其中x可以是N个'o' 或者为空;
3. 若azbjc 能AC,则azbojac也能AC,其中a,b,c为N个'o'或者为空;
Input
输入包含多组测试用例,每行有一个只包含'z','o','j'三种字符的字符串,字符串长度小于等于1000;
Output
对于给定的字符串,如果能AC则请输出字符串“Accepted”,否则请输出“Wrong Answer”。
Sample Input
zoj ozojo ozoojoo oozoojoooo zooj ozojo oooozojo zojoooo
Sample Output
Accepted Accepted Accepted Accepted Accepted Accepted Wrong Answer Wrong Answer
#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<string>
#include<queue>
#include<algorithm>
#include<map>
#include<iomanip>
#define INF 999999999
using namespace std;
int main(){
string s;
while(cin>>s){
int a=0,b=0,c=0,z=0,i=0;
bool flag=true;
for(;s[i] != 'z' && s[i] != '\0';++i){
if(s[i] != 'o'){cout<<"Wrong Answer"<<endl;flag=false;break;}
else ++a;
}
++i;
for(;s[i] != 'j' && s[i] != '\0' && flag;++i){
if(s[i] != 'o'){cout<<"Wrong Answer"<<endl;flag=false;break;}
else ++b;
}
++i;
for(;s[i] != '\0' && flag;++i){
if(s[i] != 'o'){cout<<"Wrong Answer"<<endl;flag=false;break;}
else ++c;
}
if((!b || (a == 0 && c !=0) || (a !=0 && c == 0)) && flag){cout<<"Wrong Answer"<<endl;flag=false;}
if(flag){
if(a ==0 && c == 0 || (c%a == 0 && c/a == b))cout<<"Accepted"<<endl;
else cout<<"Wrong Answer"<<endl;
}
}
return 0;
}