ZOJ问题(坑死了)「建议收藏」

ZOJ问题(坑死了)「建议收藏」ZOJ问题TimeLimit:2000/1000MS(Java/Others)MemoryLimit:32768/32768K(Java/Others)TotalSubmission

大家好,又见面了,我是你们的朋友全栈君。

ZOJ问题

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)
Total Submission(s): 3221    Accepted Submission(s): 963

Problem Description
对给定的字符串(只包含’z’,’o’,’j’三种字符),判断他是否能AC。

是否AC的规则如下:

1. zoj能AC;

2. 若字符串形式为xzojx,则也能AC,其中x可以是N个’o’ 或者为空;

3. 若azbjc 能AC,则azbojac也能AC,其中a,b,c为N个’o’或者为空;

 

 

Input
输入包含多组测试用例,每行有一个只包含’z’,’o’,’j’三种字符的字符串,字符串长度小于等于1000;
 

 

Output
对于给定的字符串,如果能AC则请输出字符串“Accepted”,否则请输出“Wrong Answer”。
 

 

Sample Input
zoj ozojo ozoojoo oozoojoooo zooj ozojo oooozojo zojoooo
 

 

Sample Output
Accepted Accepted Accepted Accepted Accepted Accepted Wrong Answer Wrong Answer
 
题解:规律题,1:x*b=z;2:z,j出现一次,o必须出现,3:z在j前边;坑了10多次、、、、、、
代码:
 1 #include<stdio.h> 
 2 #include<string.h>
 3 char m[1010];
 4 int judge(){
 5     int t=strlen(m);
 6     int x=0,y=0,a=0,b=0,c=0,z=0;
 7     for(int i=0;i<t;++i){
 8         if(m[i]=='z')a++;
 9         if(m[i]=='o')b++;
10         if(m[i]=='j')c++;
11         //if(m[i]!='z'&&m[i]!='o'&&m[i]!='j')return 0;
12     }
13     if(a!=1||b==0||c!=1)return 0;
14     a=b=c=0;
15     for(int i=0;i<t;++i){
16         if(m[i]=='z')a++;
17          if(!a&&m[i]=='o')x++;
18         if(a&&m[i]=='o'&&!c)b++;
19         if(a&&b&&m[i]=='j')c++;
20         if(c&&m[i]=='o')z++;
21     }//printf("%d %d %d %d %d\n",a,b,c,x,z);
22     if(a!=1||!b||c!=1)return 0;
23     //if(x==z&&b)return 1;
24     if(z==b*x)return 1;
25     else return 0;
26 }
27 int main()
28 {
29     while(memset(m,0,sizeof(m)),~scanf("%s",m)){
30         if(judge())puts("Accepted");
31         else puts("Wrong Answer");
32     }
33     return 0;
34 } 

 

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/154274.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月4日 下午5:16
下一篇 2022年7月4日 下午5:36


相关推荐

  • c#程序设计教材答案唐大仕_c语言程序设计pdf百度云

    c#程序设计教材答案唐大仕_c语言程序设计pdf百度云目录第1章C#程序设计简介1-11.1C#语言及其环境1-11.1.1C#的产生与发展1-11.1.2C#的环境——Microsoft.NET1-21.1.3C#的特点1-51.1.4C#和C、C的比较1-61.1.5C#与Java的比较1-71.2简单的C#程序1-81.2.1HelloWorld1-81.2.2C#程序设计快速入门1-121.2.3对象的三个…

    2026年4月17日
    5
  • 多重排序 js「建议收藏」

    多重排序 js「建议收藏」如何做到多重排序js有一个sort排序函数,使用array.sort(function)传入排序函数就可以很做到排序array.sort((a,b)=>{returna-b;})注意一点就是返回结果决定了a和b的位置,如果返回结果<0,那么a排在b的前面返回结果=0a和b的相对位置不变返回结果>0b排在a的前面现在让你对学生成绩单进行排序,先按照学号,从小到大…

    2025年6月15日
    6
  • C++滑动窗口算法_最短连续包含子串

    C++滑动窗口算法_最短连续包含子串滑动窗口算法在一个特定大小的字符串或数组上进行操作,而不在整个字符串和数组上操作,这样就降低了问题的复杂度,从而也达到降低了循环的嵌套深度。如下题给你两个长度相同的字符串,s和t。将s中的第i个字符变到t中的第i个字符需要|s[i]-t[i]|的开销(开销可能为0),也就是两个字符的ASCII码值的差的绝对值。用于变更字符串的最大预算是maxCost。在转化字符串时,总开销应当小于等于该预算,这也意味着字符串的转化可能是不完全的。如果你可以将s的子字符串转

    2025年7月10日
    6
  • C的Invoke与BeginInvoke区别

    C的Invoke与BeginInvoke区别分析 浅谈 C 中 Control 的 Invoke 与 BeginInvoke 在主副线程中的执行顺序和区别 SamWang 今天无意中看到有关 Invoke 和 BeginInvoke 的一些资料 不太清楚它们之间的区别 所以花了点时间研究了下 据 msdn 中介绍 它们最大的区别就是 BeginInvoke 属于异步执行的 Control Invoke 方法 Delegate 在拥有此控件的基

    2026年3月19日
    2
  • poj2965

    poj2965

    2021年8月9日
    55
  • Python 更换国内pip源

    Python 更换国内pip源-豆瓣:http://pypi.douban.com/simple/-中科大:https://pypi.mirrors.ustc.edu.cn/simple/-清华:https://pypi.tuna.tsinghua.edu.cn/simple一次性使用可以在使用pip的时候加参数-ihttps://pypi.tuna.tsinghua.edu.cn/simp…

    2022年6月3日
    40

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号