GitBook

这里写图片描述 这里写图片描述

找规律的题目 先分析能AC的条件 1.ZOJ能AC 这个很简单 2.xzojx能AC 也就是z前的与j后个数相同 之间有1个 3.若azbjc 能AC,则azbojac也能AC 第三个有一个若字 也就是说azbojac能AC是有前提条件的 也就是满足这种形式的可以一步步推出来

分析条件 满足3AC则必有初始时 a=c b=1 然后每一次可以递归得出 三个o的个数 a 2 a+c a 3 2a+c …… 因为前提条件a=c 所以 三个个数需要满足 a b b*a 也就是个数Z前与ZJ之间的乘积要与J后的相等 所以可以排除其它完全不可能的 (zj中间一个o没有 没有z或j) 写出AC条件

#include<stdio.h>
#include<string.h>
int main() {
	char s[1200];
	while(gets(s)!=NULL) {
		int l=strlen(s);
		int a=0,b=0,c=0,z=0,j=0;
		bool AC=false;
		for(int i=0; i<l; i++) {
			if(s[i]=='z') {
				if(z==0)
					z++;
				else {
					break;
				}
			} else if(s[i]=='j') {
				if(j==0)
					j++;
				else {
					break;
				}
			} else {
				if(z==0)
					a++;
				else if(j==0)
					b++;
				else
					c++;
			}
		}
		if(b>0&&a*b==c)
			AC=true;
		if(!z||!j)
			AC=false;
		if(AC)
			printf("Accepted\n");
		else
			printf("Wrong Answer\n");
	}
	return 0;
}

题目地址:【杭电】[3788]ZOJ问题