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


相关推荐

  • Vue(10)表单输入绑定v-model「建议收藏」

    Vue(10)表单输入绑定v-model「建议收藏」v-modelv-model指定可以实现表单值与属性的双向绑定。即表单元素中更改了值会自动的更新属性中的值,属性中的值更新了会自动更新表单中的值绑定的属性和事件v-model在内部为不同的输入元

    2022年7月29日
    14
  • Java文件读写

    Java文件读写1.%g用于输出科学计数法2.用printf输出换行除了’\n’,还可以用’%n’3.File类的几个构造方法:1)File(StringdirectoryPath)2)File(StringdirectoryPath,Stringfilename)3)File(FiledirObj,Stringfilename)4)File(URIuri)注意,这里的对象指的可能是一个…

    2022年7月14日
    16
  • 智谱ChatGLM怎么用_智谱ChatGLM使用方法详细指南【教程】-人工智能

    智谱ChatGLM怎么用_智谱ChatGLM使用方法详细指南【教程】-人工智能

    2026年3月12日
    2
  • 宝塔docker安装OpenClaw

    宝塔docker安装OpenClaw

    2026年3月15日
    3
  • 详解布隆过滤器的原理、优缺点

    详解布隆过滤器的原理、优缺点什么是布隆过滤器?本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构(probabilisticdatastructure),特点是高效地插入和查询,可以用来告诉你“某样东西一定不存在或者可能存在”,它是用多个哈希函数,将一个数据映射到位图结构中。此种方式不仅可以提升查询效率,也可以节省大量的内存空间。HashMap的问题讲述布隆过滤器的原理之前,我们先思考一下,通常你判断某…

    2026年4月15日
    9
  • C# 多线程 ThreadStart和ParameterizedThreadStart

    C# 多线程 ThreadStart和ParameterizedThreadStart线程是轻量级进程。一个使用线程的常见实例是现代操作系统中并行编程的实现。使用线程节省了CPU周期的浪费,同时提高了应用程序的效率。每个线程都定义了一个独特的控制流。如果应用程序涉及到复杂的和耗时的操作,那么设置不同的线程执行路径往往是有益的,每个线程执行特定的工作。线程生命周期线程生命周期开始于System.Threading.Thread类的对象被创建时,结束于线程被终止或完成执行时。线程生命周期中的各种状态:未启动状态:当线程实例被创建但Start方法未被调用时的状况。就绪状态:

    2022年7月15日
    25

发表回复

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

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