九度OJ 1006:ZOJ问题 (递归)
2015-10-14 22:29
363 查看
时间限制: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”。
样例输入:
样例输出:
来源:2010年浙江大学计算机及软件工程研究生机试真题
思路:
从规则2 3来看,很明显需要用递归来解,不算难,但是边界条件判断容易出错。
我WA了几次才通过的。
代码:
内存限制: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 ****************************************************************/
相关文章推荐
- 2015-10-14 [网易游戏]--研发工程师--2面
- 妙用explain Plan Rows快速估算行
- 解决配置IaaS中Endpoint系统日志报错:ignoring exception:Error executin gquery usp
- 黑马程序员一一Java语言基础(五)
- ArcGIS数据统计及字段计算
- JVM笔记(四)内存分配与回收策略
- 《Programming with Objective-C》第七章 Values and Collections
- [C++] String to Int
- iTween的使用范围
- Oracle FORALL & PostgreSQL ? op any|all (ARRAY)
- Linux下使用C语言进行检测按键的输入
- printf和scanf的原函数
- LeetCode ZigZag Conversion
- 常见 wifi热点的linux 驱动
- 链接详解--共享库命名
- iOS8上放大缩小的动画
- Windows服务编写原理及探讨【4】
- 使用 PGStrom 2 (GPU JOIN, BulkScan, GpuPreAgg, ...)
- 黑马程序员一一Java基础语法(四)
- Android串口例子