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 } 

 

 

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Activity入门—Activity生命周期及三种状态+案例[通俗易懂]

    Activity入门—Activity生命周期及三种状态+案例[通俗易懂]生命周期就是一个对象从创建到销毁的过程,每个对象都有自己的生命周期。Activity生命周期分为三种状态。运行状态,停止状态,暂停状态。一.运行状态当activity在最前端时,它是可见的,有焦点的,可以用来处理用户的常见的操作。如:点击,双击,长按事件等。系统最不愿回收的就是出于此种状态的活动,这会带来非常差的用户体验。二.暂停状态activity依然可见,但它不再拥有焦点,即用户对它的操

  • 计算机二级Python

    计算机二级Python概述计算机二级在近两年新加了python的选择,趁机考了一下,顺便记录一下学习的一些所获第一章程序设计语言概述考纲考点:这一部分主要是介绍计算机语言的公共常识,一些尝试我就按照自己的理解方式

  • android之View的启动过程[通俗易懂]

    程序里调用了onSizeChanged方法进行了一些设置,不知道onSizeChanged是在什么时候启动的,所以研究了一下View的启动流程代码如下:public class TestView extends View { public TestView(Context context) { super(context); Log.d(“mDebug”, “TestV

  • 2.1.1 操作系统之进程的定义、特征、组成、组织

    文章目录1.进程的定义(1)程序的概念(2)进程的概念(2)进程的定义2.进程的特征3.进程的组成4.进程的组织(1)链接方式(2)索引方式1.进程的定义(1)程序的概念(2)进程的概念一个进程可以包含多个程序(2)进程的定义2.进程的特征3.进程的组成而其中最重要的就是进程控制块PCB(ProcessControlBlock)PCB简介:&nbsp…

  • gravity与layout_gravity的区别

    gravity与layout_gravity的区别gravity与layout_gravity的区别

  • 链表排序python快排_python链表实例

    链表排序python快排_python链表实例此文章是跟DataWhale开源组织刷leetcode算法题时所写,主要内容借鉴算法通关手册1.链表排序简介在数组排序中,常见的排序算法有:冒泡,选择,插入,希尔,归并,快速,堆,计数,桶,基数排序等而对于链表排序而言,因为链表不支持随机访问,访问链表后面的节点只能依靠next指针从头部顺序遍历,所以相对于数组排序问题来说,链表排序问题会更加复杂一点。下面来总结一下适合链表排序与不适合链表排序的算法:适合链表的排序算法:冒泡,选择,插入,归并,快速,计数,桶,基数排序不适合链表的排序算法:希尔

    2022年10月11日

发表回复

您的电子邮箱地址不会被公开。

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