题目1006:ZOJ问题
来源:互联网 发布:linux ifup eth0失败 编辑:程序博客网 时间:2024/04/29 15:04
- 题目描述:
- 对给定的字符串(只包含'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”。
- 样例输入:
zojozojoozoojoooozoojoooozoojozojooooozojozojoooo
- 样例输出:
AcceptedAcceptedAcceptedAcceptedAcceptedAcceptedWrong AnswerWrong Answer
#include <iostream>#include <cstring>#include <stdio.h>using namespace std;bool accept1(char str[]){ int i = 0; bool isZ = false; bool isO = false; bool isJ = false; while(str[i]) { if(i == 0 && str[i] == 'z') isZ = true; if(i == 1 && str[i] == 'o') isO = true; if(i == 2 && str[i] == 'j') isJ = true; i++; } if(isZ && isO && isJ && i == 3) return true; else return false;}//xzojxbool accept2(char str[]){ int i = 2; bool flag = false; if(str[0] && str[1]) { while(str[i]) { if(str[i] == 'j' && str[i - 1] == 'o' && str[i - 2] == 'z') { int cishu = i -2 ; bool is_equal = true; int j =0; for(; j < cishu; j++) { if(str[j] == 'o' && str[i+1+j] == 'o') continue; else { is_equal = false; break; } } if(is_equal && !str[j+i+1]) { flag = true; break; } } i++; } } return flag;}// azbojac oozoojoooobool accept3(char str[]){ int i = 0; int a=0,b=0,c=0; int numZ =0,numJ=0; bool hasZ = false,hasO = false,hasJ = false; bool flag = false; while(str[i]) { if(str[i] == 'z' ) { numZ++; hasZ = true; } if(str[i] == 'j') { numJ++; hasJ = true; } if(!hasZ && str[i] == 'o') a++; if(hasZ && !hasJ && str[i] == 'o') b++; if(hasZ && hasJ && str[i] == 'o') c++; i++; } if(numJ == 1 && numZ == 1) { if(2*a == c && b >= 1) flag = true; } return flag;}int main(){ char str[1000]; //string str; while(scanf("%s",str) != EOF) { if(accept1(str) || accept2(str) || accept3(str)) { printf("%s\n","Accepted"); } else { printf("%s\n","Wrong Answer"); } }}
0 0
- 题目1006:ZOJ问题
- 题目1006:ZOJ问题
- 题目1006:ZOJ问题
- 题目1006:ZOJ问题
- 题目1006:ZOJ问题
- 题目1006:ZOJ问题
- 题目1006:ZOJ问题
- 题目1006:ZOJ问题
- 【九度】题目1006:ZOJ问题
- 九度 题目1006:ZOJ问题
- 九度OJ 题目1006:ZOJ问题
- 九度 oj 题目1006:ZOJ问题
- 9度oj 题目1006:ZOJ问题【递推】
- HDOJ 题目 3788 ZOJ问题(水题)
- 九度oj 题目1006:ZOJ问题 【ZJU2010考研机试题2】【容易理解混乱】
- ZOJ题目分类(转)
- ZOJ题目分类
- zoj题目分类
- payclient
- 用递归的方法,写出汉诺塔问题的移动步骤
- 学习Python2(正则表达式)
- SPH fluid simulation methods & source codes (cpu & gpu)
- Android开源框架的SlidingFragment的使用
- 题目1006:ZOJ问题
- GridView长按删除
- 认识和学习bash
- Android开发: 错误整理(不断更新)
- GetLastError()返回值列表
- 异质链表
- [问题记录]-[NSPlaceholderString initWithString:]: nil argument 参数为空导致
- Android ViewTreeObserver
- C#学习之接口