zoj ozojo ozoojoo oozoojoooo zooj ozojo oooozojo zojoooo
Accepted Accepted Accepted Accepted Accepted Accepted Wrong Answer Wrong Answer
写个题意吧,有点坑:这道题出现的字母只有 z o j 三个,这里标记一下:z 前面的 o 的个数为 a,中间的为 b,最后的为 c。
首先要满足 b 不等于 0 ,其次,a*b 应该等于 c。
还有要注意有多个z和j的情况,总之是wa的很惨。略略略
代码如下:
#include <cstdio> #include <cstring> int main() { char a[1111]; int l; int i; while (~scanf ("%s",a)) { l = strlen(a); int n[3]={0,0,0}; int m = 0; //x z x j x a b c表示x处o的个数 int x=0,y=0; //z和j的个数 for (i=0;i<l;i++) { if (a[i] == 'z') x++; else if (a[i] == 'j') y++; } if (x == 1 && y == 1) { for (i=0;i<l;i++) { if (a[i] == 'z') break; } x = i; for (i=x+1;i<l;i++) { if (a[i] == 'j') break; } y = i; int z=l-y-1; if (y-x-1 >=1) { if (z == x*(y-x-1)) printf ("Accepted\n"); else printf ("Wrong Answer\n"); } else printf ("Wrong Answer\n"); } else printf ("Wrong Answer\n"); } return 0; }