对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC。
2012-11-23 22:11
597 查看
/*
对给定的字符串(只包含'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;
Output
对于给定的字符串,如果能AC则请输出字符串“Accepted”,否则请输出“Wrong Answer”。
*/
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char string[1000];
char *p,*q,*l;
int i,num1=0,num2=0,num3=0;
bool tag=false;
while(cin>>string)
{
if(strcmp(string,"zoj")==0)
cout<<"Accepted"<<endl;
else if(strstr(string,"zoj")!=NULL)
{
p=strstr(string,"zoj");
for(i=0;i<strlen(string);i++)
{
if((string[i]=='o')&&(&string[i]<p))
num1++;
else if(&string[i]==p)
i=i+2;
else if((string[i]=='o')&&(&string[i]>(p+2)))
num2++;
else
{
cout<<"Wrong Answer"<<endl;
tag=true;
break;
}
}
if(tag==false)
{
if(num1==num2)
cout<<"Accepted"<<endl;
else
cout<<"Wrong Answer"<<endl;
}
else
tag=false;
num1=num2=0;
}
else if((strstr(string,"z")!=NULL)&&(strstr(string,"oj")!=NULL))
{
p=strstr(string,"z");
q=strstr(string,"oj");
num3=q-p;
for(i=0;i<strlen(string);i++)
{
if((string[i]=='o')&&(&string[i]<p))
num1++;
else if(&string[i]==p)
{
l=p;
for(l++;l<=q;l++)
{
if(*l!='o')
{
cout<<"Wrong Answer"<<endl;
break;
}
}
i=i+num3+1;
}
else if((string[i]=='o')&&(&string[i]>(p+1+num3)))
num2++;
else
{
cout<<"Wrong Answer"<<endl;
tag=true;
break;
}
}
if(tag==false)
{
if(num3*num1==num2)
cout<<"Accepted"<<endl;
else
cout<<"Wrong Answer"<<endl;
}
else
tag=false;
num1=num2=num3=0;
}
else
cout<<"Wrong Answer"<<endl;
}
return 0;
}
/*
zoj
ozojo
ozoojoo
oozoojoooo
zooj
ozojo
oooozojo
zojoooo
*/
对给定的字符串(只包含'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;
Output
对于给定的字符串,如果能AC则请输出字符串“Accepted”,否则请输出“Wrong Answer”。
*/
#include<iostream>
#include<string.h>
using namespace std;
int main()
{
char string[1000];
char *p,*q,*l;
int i,num1=0,num2=0,num3=0;
bool tag=false;
while(cin>>string)
{
if(strcmp(string,"zoj")==0)
cout<<"Accepted"<<endl;
else if(strstr(string,"zoj")!=NULL)
{
p=strstr(string,"zoj");
for(i=0;i<strlen(string);i++)
{
if((string[i]=='o')&&(&string[i]<p))
num1++;
else if(&string[i]==p)
i=i+2;
else if((string[i]=='o')&&(&string[i]>(p+2)))
num2++;
else
{
cout<<"Wrong Answer"<<endl;
tag=true;
break;
}
}
if(tag==false)
{
if(num1==num2)
cout<<"Accepted"<<endl;
else
cout<<"Wrong Answer"<<endl;
}
else
tag=false;
num1=num2=0;
}
else if((strstr(string,"z")!=NULL)&&(strstr(string,"oj")!=NULL))
{
p=strstr(string,"z");
q=strstr(string,"oj");
num3=q-p;
for(i=0;i<strlen(string);i++)
{
if((string[i]=='o')&&(&string[i]<p))
num1++;
else if(&string[i]==p)
{
l=p;
for(l++;l<=q;l++)
{
if(*l!='o')
{
cout<<"Wrong Answer"<<endl;
break;
}
}
i=i+num3+1;
}
else if((string[i]=='o')&&(&string[i]>(p+1+num3)))
num2++;
else
{
cout<<"Wrong Answer"<<endl;
tag=true;
break;
}
}
if(tag==false)
{
if(num3*num1==num2)
cout<<"Accepted"<<endl;
else
cout<<"Wrong Answer"<<endl;
}
else
tag=false;
num1=num2=num3=0;
}
else
cout<<"Wrong Answer"<<endl;
}
return 0;
}
/*
zoj
ozojo
ozoojoo
oozoojoooo
zooj
ozojo
oooozojo
zojoooo
*/
相关文章推荐
- 对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC。 是否AC的规则如下: 1. zoj能AC; 2. 若字符串形式为xzojx,则也能AC,其中x可以是N个'o' 或者为空;
- 判断两个字符串是否包含相同的字符
- 怎么判断字符串中是否包含一组字符的任意一个字符及判断字符串是否只含字母和数字
- git是一种分布式代码管理工具,git通过树的形式记录文件的更改历史,比如: base'<--base<--A<--A' ^ | --- B<--B' 小米工程师常常需要寻找两个分支最近的分割点,即base.假设git 树是多叉树,请实现一个算法,计算git树上任意两点的最近分割点。 (假设git树节点数为n,用邻接矩阵的形式表示git树:字符串数组matrix包含n个字符串,每个字符串由字符'0
- js javascript 判断字符串是否包含某字符串,String对象中查找子字符,indexOf
- 判断字符串是否包含某些字符
- js 判断字符串是否包含某字符串,String对象中查找子字符,indexOf
- 正则表达式判断是否存在中文和全角字符和判断包含中文字符串长度
- php正则判断字符串是否包含中文或特殊字符等
- java判断字符串中是否包含字母字符
- [转载]js javascript 判断字符串是否包含某字符串,String对象中查找子字符,indexOf
- oracle判断一个字符串中是否包含另外一个字符串(想要不论顺序或者不相邻的字符)
- js javascript 判断字符串是否包含某字符串,String对象中查找子字符,indexOf
- jquery判断字符串中是否包含特定字符的方法总结
- java 判断固定的中文字符串 判断字符串中是否包含固定的中文字符 String.indexOf(中文)
- js javascript 判断字符串是否包含某字符串,String对象中查找子字符,indexOf
- 判断JS字符串中是否包含某些字符
- 使用C语言判断给定格式字符串是否包含合法的时间值
- 判断一个字符串是否包含特殊字符
- 判断一个给定的字符串通过循环移位是否可以包含另一个字符串