时间限制:1 秒

内存限制:32 兆

特殊判题:否

提交:18621

解决:3197

题目描述:
对给定的字符串(只包含'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
来源:
2010年浙江大学计算机及软件工程研究生机试真题

思路:

从规则2 3来看,很明显需要用递归来解,不算难,但是边界条件判断容易出错。

我WA了几次才通过的。

代码:

#include <stdio.h>

#define N 1000

int main(void)
{
int i, a, b, c;
char s[N+1]; while (scanf("%s", s) != EOF)
{
a = b = c = 0;
i = 0;
while (s[i] == 'o')
{
i ++;
a ++;
}
if (s[i] != 'z')
{
printf("Wrong Answer\n");
continue;
}
i++;
while (s[i] == 'o')
{
i ++;
b ++;
}
if (s[i] != 'j')
{
printf("Wrong Answer\n");
continue;
}
i++;
while (s[i] == 'o')
{
i ++;
c ++;
}
if (s[i] != '\0')
{
printf("Wrong Answer\n");
continue;
} //if (c == a+a*(b-1) && b > 0)
while (b > 1)
{
b --;
c -= a;
}
if (a == c && a >= 0 && b == 1)
printf("Accepted\n");
else
printf("Wrong Answer\n");
} return 0;
}
/**************************************************************
Problem: 1006
User: liangrx06
Language: C
Result: Accepted
Time:30 ms
Memory:912 kb
****************************************************************/

最新文章

  1. IOS开发之WIFI及IP相关
  2. 2016 - 1 - 23 json解析
  3. 谈谈CSS预处理技术中for循环的应用-CSS Sprite
  4. PHP中file_put_contents追加和换行
  5. iOS 10 消息推送(UserNotifications)秘籍总结(一)
  6. (六)学习MVC之标签a提交页面
  7. 解决Asp.net中的Chart控件运行出现错误提示“ ChartImg.axd 执行子请求时出错”
  8. careercup-栈与队列 3.6
  9. FC8下备份linux系统
  10. Why GEMM is at the heart of deep learning
  11. Spring实战——XML和JavaConfig的混合配置
  12. Vue keep-alive实践总结
  13. git的理论基础
  14. Golang错误和异常处理的正确姿势
  15. As-If-Serial 理解
  16. JAVA EE------XML
  17. conts、var 、let的区别
  18. 如何使用 Visual C# .NET 处理 Excel 事件
  19. springmvc转页面
  20. sqli-labs(八)——修改密码处sql注入+http头sql注入

热门文章

  1. 用chardet判断字符编码的方法
  2. iOS 动画笔记 (一)
  3. ylb:SQL 视图(View)基础
  4. Linux系统内核性能调优
  5. 负载均衡情况下获取真实ip的方法
  6. Android开发人员不得不收集的代码(转)
  7. (转)来自互联网巨头的46个用户体验面试问题(谷歌,亚马逊,facebook及微软)
  8. leetcode-Symmetric Tree 对称树
  9. [Android]egit取消文件版本号控制
  10. 【Python】切片