HDU3788 ZOJ问题【文本处理】
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的规则如下:
- zoj能AC;
- 若字符串形式为xzojx,则也能AC,其中x可以是N个’o’ 或者为空;
- 若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问题【文本处理】相关推荐
- HDU3783 ZOJ【文本处理】
ZOJ Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submissio ...
- HDU3788 ZOJ问题
题目:http://acm.hdu.edu.cn/showproblem.php?pid=3788 代码: #include<stdio.h> #include<string.h&g ...
- HDU各种考试题题解
HDU各种考试题目一览 - Virtual Judge HDU研究生程序机考与考试 浙大计算机研究生复试上机考试-2005年 HDU1228 A + B[map] - 海岛Blog - CSDN博客 ...
- TYUT-A专题题解(一)
TYUT-A专题题解(一) 01A Ad Hoc UVA353 LA5247 Pesky Palindromes[回文] - 海岛Blog - CSDN博客 UVA947 Master Mind He ...
- hdu 1228java_HDU各种考试题题解
HDU各种考试题题解 浙大计算机研究生复试上机考试-2005年 HDU1228 A + B[map] - 海岛Blog - CSDN博客 HDU1231 最大连续子序列[最大子段和+DP]_算法,动态 ...
- java发送简单邮件_Java程序实现发送简单文本邮件
/** * Java程序实现发送简单文本邮件 * * @author Administrator * */ public class SendTextMail { // 定义发件人地址 public ...
- Redis 笔记(11)— 文本协议 RESP(单行、多行字符串、整数、错误、数组、空值、空串格式、telnet 登录 redis)
RESP 是 Redis 序列化协议Redis Serialization Protocol 的简写.它是一种直观的文本协议,优势在于实现异常简单,解析性能极好. Redis 协议将传输的结构数据 ...
- python二进制打开(rb)和文本格式打开(r)什么区别?
使用 open() 函数以文本格式打开文件和以二进制格式打开文件,唯一的区别是对文件中换行符的处理不同. 在 Windows 系统中,文件中用 "\r\n" 作为行末标识符(即换行 ...
- 文本框可编辑查看页面
<!DOCTYPE html> <html><head><meta charset="utf-8" /><title>文 ...
最新文章
- oracle 恢复dmp文件时,创建 tablespace user
- redis:RDM连接阿里云redis服务器
- nmap配合shell使用
- python的字符串内建函数
- TreeSet()详解
- 【转】CT中的“层“与“排“的区别
- 《Python Cookbook 3rd》笔记(5.11):文件路径名的操作
- 信息学奥赛一本通 1226:装箱问题 | OpenJudge NOI 4.6 19:装箱问题
- 脚本 折叠 各方向
- android 开发中判断网络是否连接的代码
- 八大排序算法—源代码(c语言)
- 支付宝微信QQ钱包收款码合并教程及源码下载
- 大数据技术架构_大数据架构流程图
- 利用shell脚本,实现腾讯云DNSPod进行DDNS动态域名解析ipv6地址
- DSPE-PEG9-Mal纯度是95%以上的单分散小分子PEG试剂
- 生命密码是几适合学计算机,数字生命密码是什么?
- C语言task的用法,C# Task 用法
- 批量关闭公众号推送_微信发大招,长期不读的公众号可“批量关闭”!
- WMS系统学习之ModernWMS
- Java word转pdf 精确获取文件页数(jacob)
热门文章
- 皮卡丘为什么不进化_神奇宝贝:为什么皮卡丘一直不愿意进化?原因竟然是这个!...
- Windows上配置iPhone开发环境
- commons-fileupload 上传图片路径到mysql_上传图片到服务器并将图片路径保存到数据库...
- 琴生不等式一般形式_[学习笔记]常用不等式
- lstm 输入数据维度_理解Pytorch中LSTM的输入输出参数含义
- 语言程序推箱子课设报告_学完C语言,可以去哪些应用领域工作?
- 表单绑定复选框的值和图片上传
- SparkSQL中数据集类的封装
- rust显卡要求 steam_Steam夏促游戏销量排行,Epic称暂时不要买地平线黎明时分,虚幻5引擎配置要求不高,热血无赖电影开拍,Steam夏促育碧专区...
- html页面的盒子边框怎么做的,HTML+CSS入门 用三层盒子结构实现多边框详解