九度oj 1006 ZOJ问题 2010年浙江大学计算机及软件工程研究生机试真题
题目1006:ZOJ问题
时间限制:1 秒
内存限制:32 兆
特殊判题:否
提交:16244
解决:2742
- 题目描述:
-
对给定的字符串(只包含'z','o','j'三种字符),判断他是否能AC。
是否AC的规则如下: 1. zoj能AC; 2. 若字符串形式为xzojx,则也能AC,其中x可以是N个'o' 或者为空; 3. 若azbjc 能AC,则azbojac也能AC,其中a,b,c为N个'o'或者为空;
- 输入:
-
输入包含多组测试用例,每行有一个只包含'z','o','j'三种字符的字符串,字符串长度小于等于1000。
- 输出:
-
对于给定的字符串,如果能AC则请输出字符串“Accepted”,否则请输出“Wrong Answer”。
- 样例输入:
-
zoj ozojo ozoojoo oozoojoooo zooj ozojo oooozojo zojoooo
- 样例输出:
-
Accepted Accepted Accepted Accepted Accepted Accepted Wrong Answer Wrong Answer
- 来源:
- 2010年浙江大学计算机及软件工程研究生机试真题
分析:
2种情况输出"Accepted":
1."zoj"
2."xzo..ojx..x"(其中中间o的个数=末尾x的个数)
技巧:找到第一个'z'的位置和第一个'j'的位置,就可以就可以算出第一个'z'和第一个'j'之间的'o'的个数(就是末尾x的个数)
然后构造string s1="xzo..ojx..x"与原字符串比较
substr用法:s.substr(a,b) 返回s[a]开始的(包括s[a])长b的字符串
http://baike.baidu.com/link?url=sNCZ2LsYgl82zQXh6xKA51dUV_sZRVh9tvrwDBMpqkzJ8IP6rv5JwVy8NNdY_5qZcRVOCQ3Z6GH8ZYNI7E5ctNnBkd_ZURxza5tLXzq9l8O
1 #include <cstdio> 2 #include<algorithm> 3 #include<iostream> 4 #include<string> 5 #include<cstring> 6 #include<vector> 7 using namespace std; 8 int main() 9 { 10 string s; 11 while(cin>>s){ 12 string x; 13 if(s=="zoj"){ 14 cout<<"Accepted"<<endl; 15 continue; 16 } 17 int i=0; 18 int tz=-1,tj=-1; 19 for(;i<s.length();i++){ 20 if(s[i]=='z'&&tz==-1){ 21 tz=i; 22 } 23 else{ 24 if(s[i]=='j'&&tj==-1){ 25 tj=i; 26 } 27 } 28 } 29 int num=tj-tz-1; 30 if(num>0){ 31 x=s.substr(0,tz); 32 /*for(i=0;i<tz;i++){ 33 if(s[i]!='o') 34 break; 35 } 36 if(i!=tz){ 37 cout<<"Wrong Answer"<<endl; 38 continue; 39 } 40 for(i=tz+1;i<tj;i++){ 41 if(s[i]!='o') 42 break; 43 } 44 if(i!=tj){ 45 cout<<"Wrong Answer"<<endl; 46 continue; 47 }*/ 48 string s1=x+'z'; 49 for(i=0;i<num;i++){ 50 s1+='o'; 51 } 52 s1+='j'; 53 for(i=0;i<num;i++){ 54 s1+=x; 55 } 56 if(s1==s){ 57 cout<<"Accepted"<<endl; 58 continue; 59 } 60 } 61 cout<<"Wrong Answer"<<endl; 62 } 63 return 0; 64 }
转载于:https://www.cnblogs.com/Deribs4/p/4291299.html
九度oj 1006 ZOJ问题 2010年浙江大学计算机及软件工程研究生机试真题相关推荐
- 2010年浙江大学计算机及软件工程研究生机试真题
http://ac.jobdu.com/problem.php?pid=1006 ZOJ问题 /* 若azbjc 能AC,则azbojac也能AC,其中a,b,c为N个'o'或者为空: 这里azboj ...
- 2010年清华大学计算机研究生机试真题
http://ac.jobdu.com/problem.php?pid=1085 求root(N, k) /* N =a0+a1*k+a2*k^2+......ar*k^r; N'=a0+a1 +a ...
- 2010年北京大学计算机研究生机试真题
http://ac.jobdu.com/problem.php?pid=1149 子串计算 #include<iostream> #include<cstdio> #inc ...
- [高精度整数] a+b [2010年华中科技大学计算机研究生机试真题]
题目描述: 实现一个加法器,使其能够输出a+b的值. 输入描述: 输入包括两个数a和b,其中a和b的位数不超过1000位. 输出描述: 可能有多组测试数据,对于每组数据, 输出a+b的值. 样例输入: ...
- 九度OJ 1008:最短路径问题 (最短路)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:8064 解决:2685 题目描述: 给你n个点,m条无向边,每条边都有长度d和花费p,给你起点s终点t,要求输出起点到终点的最短距离及其花费 ...
- 九度OJ 1024 畅通工程 -- 并查集、贪心算法(最小生成树)
题目地址:http://ac.jobdu.com/problem.php?pid=1024 题目描述: 省政府"畅通工程"的目标是使全省任何两个村庄间都可以实现公路交通(但不一定有 ...
- 九度OJ 1011:最大连续子序列 (DP)
时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:5615 解决:2668 题目描述: 给定K个整数的序列{ N1, N2, ..., NK },其任意连续子序列可表示为{ Ni, Ni+1, ...
- 九度OJ—题目1032:ZOJ
题目描写叙述: 读入一个字符串.字符串中包括ZOJ三个字符,个数不一定相等,按ZOJ的顺序输出.当某个字符用完时,剩下的仍然依照ZOJ的顺序输出. 输入: 题目包括多组用例,每组用例占一行,包括ZOJ ...
- Freckles - 九度 OJ 1144
Freckles - 九度 OJ 1144 题目 时间限制:1 秒 内存限制:128 兆 特殊判题:否 题目描述: In an episode of the Dick Van Dyke show, l ...
最新文章
- 使用阿里云服务器安装docker,并用nginx示例
- 性能监控工具 NewRelic 简介
- freeRtos学习笔(4)消息队列
- 浏览器上网 (Safari Chrome)
- boost::leaf::exception用法的测试程序
- Spring Boot定时任务-Quartz基本使用
- html文字斜体变成正体,$$中的字母如何由斜体变成正体?
- RocketMQ消费幂等性处理
- hdu4956 Poor Hanamichi
- Redis回收进程如何工作的?
- python查找指定文件夹_python实现在目录中查找指定文件的方法
- Gram 矩阵性质及应用
- 二维分类教案_屈老师中班数学教案《有趣的笔》
- 投稿经验分享之二:国际EI会议(可检索)
- WPS文字设置奇偶页眉、下划线的方法步骤
- 在使用pyplot时报错MatplotlibDeprecationWarning
- Part 4R 不定积分和定积分
- 《STL源码剖析》-- stl_map.h
- L1正则化及其稀疏性的傻瓜解释
- 10天,几万字,源码深度解析之 Spring IOC
热门文章
- linux+npm+v+报错_linux – npm install会导致像npm ERR这样的错误...
- 分享到facebook链接原格式_神马?!你还不知道Facebook广告怎么操作?
- linux提升网络实时性,通过调整Linux内核参数提升网络性能
- python读取rar文件_在 python 中,如何读取由 7z 压缩的文本文件_python_酷徒编程知识库...
- html中插人视频教程,HTML中插入视频并兼容所有浏览器
- java union方法参数_Java Geometry.union方法代碼示例
- 合法的python变量名import_python 环境变量和import模块导入方法(详解)
- python中的模块原则_python 的模块与包
- 【NOIP2013模拟】小喵喵的新家
- java dh算法_dh密钥交换算法java