ZOJ问题

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

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

Source
浙大计算机研究生复试上机考试-2010年

问题链接:HDU3788 ZOJ问题
问题简述:(略)
问题分析
    这里给出的2个解题代码采用的是特征处理的方法,并不具有一般性,逻辑上也可能不够严密。
    文本处理问题,应该采用正则表达式、有限状态自动机或递归子程序法来解才是正道。
程序说明:(略)
参考链接:(略)
题记:(略)

AC的C++语言程序如下:

/* HDU3788 ZOJ问题 */#include <bits/stdc++.h>using namespace std;const int N = 1000 + 1;
char s[N];int main()
{while(~scanf("%s", s)) {int len = strlen(s);int pz = -1, i;for(i = 0; s[i] != 'j' && i < len; i++)if(s[i] == 'z') pz = i;int pj = len - 1 - i;int po = i - 1 - pz;if(pj == pz * po && po > 0)printf("Accepted\n");elseprintf("Wrong Answer\n");}return 0;
}

AC的C++语言程序如下:

/* HDU3788 ZOJ问题 */#include <bits/stdc++.h>using namespace std;const int N = 1000 + 1;
char s[N];int main()
{while(~scanf("%s", s)) {int z = 0, o = 0, j =0, pz = -1, pj =-1;int len = strlen(s);for(int i = 0; i < len; i++)if(s[i] == 'z') z++, pz = i;else if(s[i] == 'o') o++;else if(s[i] == 'j') j++, pj = i;if(z != 1 || o == 0 || j != 1 || pj - pz < 2)printf("Wrong Answer\n");else {if(pz * (pj - pz - 1) == len - pj - 1)printf("Accepted\n");elseprintf("Wrong Answer\n");}}return 0;
}

HDU3788 ZOJ问题【文本处理】相关推荐

  1. HDU3783 ZOJ【文本处理】

    ZOJ Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissio ...

  2. HDU3788 ZOJ问题

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=3788 代码: #include<stdio.h> #include<string.h&g ...

  3. HDU各种考试题题解

    HDU各种考试题目一览 - Virtual Judge HDU研究生程序机考与考试 浙大计算机研究生复试上机考试-2005年 HDU1228 A + B[map] - 海岛Blog - CSDN博客 ...

  4. TYUT-A专题题解(一)

    TYUT-A专题题解(一) 01A Ad Hoc UVA353 LA5247 Pesky Palindromes[回文] - 海岛Blog - CSDN博客 UVA947 Master Mind He ...

  5. hdu 1228java_HDU各种考试题题解

    HDU各种考试题题解 浙大计算机研究生复试上机考试-2005年 HDU1228 A + B[map] - 海岛Blog - CSDN博客 HDU1231 最大连续子序列[最大子段和+DP]_算法,动态 ...

  6. java发送简单邮件_Java程序实现发送简单文本邮件

    /** * Java程序实现发送简单文本邮件 * * @author Administrator * */ public class SendTextMail { // 定义发件人地址 public  ...

  7. Redis 笔记(11)— 文本协议 RESP(单行、多行字符串、整数、错误、数组、空值、空串格式、telnet 登录 redis)

    RESP 是 Redis 序列化协议Redis Serialization Protocol 的简写.它是一种直观的文本协议,优势在于实现异常简单,解析性能极好. ​ Redis 协议将传输的结构数据 ...

  8. python二进制打开(rb)和文本格式打开(r)什么区别?

    使用 open() 函数以文本格式打开文件和以二进制格式打开文件,唯一的区别是对文件中换行符的处理不同. 在 Windows 系统中,文件中用 "\r\n" 作为行末标识符(即换行 ...

  9. 文本框可编辑查看页面

    <!DOCTYPE html> <html><head><meta charset="utf-8" /><title>文 ...

最新文章

  1. oracle 恢复dmp文件时,创建 tablespace user
  2. redis:RDM连接阿里云redis服务器
  3. nmap配合shell使用
  4. python的字符串内建函数
  5. TreeSet()详解
  6. 【转】CT中的“层“与“排“的区别
  7. 《Python Cookbook 3rd》笔记(5.11):文件路径名的操作
  8. 信息学奥赛一本通 1226:装箱问题 | OpenJudge NOI 4.6 19:装箱问题
  9. 脚本 折叠 各方向
  10. android 开发中判断网络是否连接的代码
  11. 八大排序算法—源代码(c语言)
  12. 支付宝微信QQ钱包收款码合并教程及源码下载
  13. 大数据技术架构_大数据架构流程图
  14. 利用shell脚本,实现腾讯云DNSPod进行DDNS动态域名解析ipv6地址
  15. DSPE-PEG9-Mal纯度是95%以上的单分散小分子PEG试剂
  16. 生命密码是几适合学计算机,数字生命密码是什么?
  17. C语言task的用法,C# Task 用法
  18. 批量关闭公众号推送_微信发大招,长期不读的公众号可“批量关闭”!
  19. WMS系统学习之ModernWMS
  20. Java word转pdf 精确获取文件页数(jacob)

热门文章

  1. 皮卡丘为什么不进化_神奇宝贝:为什么皮卡丘一直不愿意进化?原因竟然是这个!...
  2. Windows上配置iPhone开发环境
  3. commons-fileupload 上传图片路径到mysql_上传图片到服务器并将图片路径保存到数据库...
  4. 琴生不等式一般形式_[学习笔记]常用不等式
  5. lstm 输入数据维度_理解Pytorch中LSTM的输入输出参数含义
  6. 语言程序推箱子课设报告_学完C语言,可以去哪些应用领域工作?
  7. 表单绑定复选框的值和图片上传
  8. SparkSQL中数据集类的封装
  9. rust显卡要求 steam_Steam夏促游戏销量排行,Epic称暂时不要买地平线黎明时分,虚幻5引擎配置要求不高,热血无赖电影开拍,Steam夏促育碧专区...
  10. html页面的盒子边框怎么做的,HTML+CSS入门 用三层盒子结构实现多边框详解