ZOJ Special AC String 水
2013-12-01 20:51
302 查看
http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=3702
题目大意:
对于给定的一个字符串,满足如下要求输出AC,否则WA(好吧我简写)
给定字符串只有ZOJ三个字母组成。Z和J只能有一个并且Z在左边
J之后的O个数必须大于Z之前的O个数
Z和J之间O的个数必须不大于J之后的O的个数,并且他们都大于0
题目大意:
对于给定的一个字符串,满足如下要求输出AC,否则WA(好吧我简写)
给定字符串只有ZOJ三个字母组成。Z和J只能有一个并且Z在左边
J之后的O个数必须大于Z之前的O个数
Z和J之间O的个数必须不大于J之后的O的个数,并且他们都大于0
#include<cstdio> #include<cstring> const int MAXN=1001; bool ok(char a[]) { int len=strlen(a); int z,j; z=j=-1; for(int i=0;i<len;i++) { if( a[i]!='Z' && a[i] !='O' && a[i] != 'J') return false; if(a[i]=='Z' && z==-1) //把右边的z排除 z=i; else if(a[i]=='Z' && z!=-1) return false; if(a[i]=='J' && j==-1) //把右边的j排除 j=i; else if(a[i]=='J' && j!=-1) return false; } if(j < z) //j在z左边显然不行 return false; if(z+1==j) //中间没有O return false; if(j-z-1 > len-1-j) return false; if(z > len-1-j) return false; //o z o j o o //0 1 2 3 4 5 6 return true; } int main() { char a[MAXN]; while(~scanf("%s",a)) { if(ok(a)) printf("Accepted\n"); else printf("Wrong Answer\n"); } }
相关文章推荐
- ZOJ Special AC String 水
- ZOJ Special AC String
- ZOJ - 3228 Searching the String (AC自动机)
- Searching the String - ZOJ 3228(ac自动机)
- [AC自己主动机] zoj Searching the String
- ZOJ 3228 Searching the String(AC自动机)
- ZOJ 3228 Searching the String(AC自动机)
- ZOJ 3228 Searching the String AC自动机的不重复匹配
- zoj 3228 Searching the String(AC自动机基本应用)
- zoj 3535 Gao the String II(ac自动机+dp)
- ZOJ 3228 Searching the String(AC自动机)
- Zoj 3535 Gao the String II (AC自动机+dp)
- zoj 3535 Gao the String II(AC自动机+DP)
- ZOJ3228---Searching the String(AC自动机)
- ZOJ 3228 Searching the String(AC自动机)
- zoj 3535 Gao the String II (ac自动机+dp)
- zoj 3228 Searching the String (ac自动机)
- ZOJ 3328 Searching the String (AC自动机)
- ZOJ - 3228 Searching the String (AC自己主动机)
- Zoj 3535 Gao the String II (AC自己主动机+dp)