您的位置:首页 > 理论基础

2010年浙江大学计算机及软件工程研究生机试真题之三

2014-03-21 10:13 204 查看
题目描述:
对给定的字符串(只包含’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”。

#include "stdio.h"
#include "string.h"
int checkstring(char *str);
int main()
{
char ch[100];
while(scanf("%s",ch)!=EOF)
{
if(checkstring(ch))
printf("Accepted\n");
else
printf("Wrong Answer\n");
}
return 0;
}

int checkstring(char *str)
{
int temp=strlen(str);
int i=0,j=temp-1;
while(str[i++]=='o'&&i<temp) ;//获取z的位置
while(str[j--]=='o'&&j>=0);   //获取j的位置
if(i<=(temp-1-j)&&str[i-1]=='z'&&str[j+1]=='j') //开头o的个数不大于和结尾o的个数
{
for(int t=i;t<=j;t++)
{
if(str[t]!='o') return 0;
}
return 1;
}
return 0;
}
测试:
输入:zoj   输出:Accepted
ozojo        Accepted
oozoojoo     Accepted
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐