禁咒检验

                                   (3MB / 2s)
【问题描述】
  在古老的世界里,有一个神奇的职业叫做魔法师。
  魔法师的特点是会魔法,施放魔法需要念咒语。
  在古老的世界里,有一个神奇的职业叫做码农。码农的工作是帮助魔法师记录咒语。
  码农用 0 和 1 来记录咒语, 所以一个咒语可以用一个仅由 0 和 1 构成的字符串 S 表示。
  魔法师念咒语时就是把 S 从左到右读一遍。随着 0 和 1 的默念,魔法的能量从魔法师体内涌出。

  如果魔法师连续念的 4 个字符中, ‘0’的数量不到 2 个,那么魔法师的体力
会大量消耗。如果魔法师念 S 时会出现大量消耗体力的情况,那么 S 就被称为
禁咒。例如“010101”不是禁咒,但“001101000”是禁咒,因为魔法师会在连
续念出“1101” 。
  码农的一个重要任务,就是帮助魔法师判断一条咒语是不是禁咒。
因为在古老的世界里,还没有印刷术,更没有计算机,所以信息存储全靠手
写,所以如果 S 很长,码农是不会把 S 抄下来的,只会去背下一部分。相应的,
本题的内存仅能使用 3MB 。为避免程序运行时的额外内存计入这 3MB,评测时
会开 6MB, 但是你仍应当成 3MB 来写代码, 只是不必担心系统抢你仅有的 3MB
内存。
【输入格式】

一行一个字符串 S,表示咒语

【输出格式】

如果 S 是禁咒,输出“Yes” ,否则输出“No”

【样例输入】

100010101

【样例输出】
  No

【数据规模和约定】
对于 60%的数据, 1<=|S|<=1000
对于 100%的数据, 1<=|S|<=10^7

考场解题:
  这明显的在线做啊,用两个 int 变量记录一下,int a 表示 1 的
出现,int b 表示 0 的出现,若 b=2 是让 a 和 b 归零,若 a=3 了,则
判断一下 b 是不是小于 2,若小于 2 则输出‘Yes’ ,or 输出‘No’ ;
自己手造了几组样例,嗯,没毛病,感觉挺对的,就没再继续想。
then吃完饭回来,自己脑袋忽然灵光一闪,给自己举出了一个反例,

果然好像有 WA 的(0110100)

正解:
  好像我想麻烦了哦,直接定义一个 char a[5]数组,若字符串的
长度大于 4 后,每输入一个字符,对它和它之前三个字符统计一下 1
的数量,若数量超过了 3 个,则可以直接 break 掉,输出‘Yes’ ,输
入完以后没有 break 则输出‘No’就好咯。

哇,原来开 2s 是因为这啊,挺简单的,考场上咋就没想到呢。

据老师自己说没有准备卡 scanf,结果最后一个
  点还是卡了,getchar()就可以过。

  期望的分:100
   实际得分:60

代码:

#include <cstdio>
#include <iostream>
#include <queue>
#include <vector>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <set>
#include <map>
//#define DEBUG
using namespace std;
int main()
{
freopen("str.in","r",stdin);
freopen("str.out","w+",stdout);
queue<char>str;
int zero(),one();
bool ok(false);
char ch(getchar());
for(;ch == '' || ch == '';ch = getchar())
{
str.push(ch);
//cout<<ch;
if(ch == '')
{
++zero;
}
if(str.size() == )
{
if(zero < )
{
ok = true;
break;
}
if(str.front() == '')--zero;
str.pop();
}
}
if(ok)printf("Yes\n");
else printf("No\n");
return ;
}

最新文章

  1. Hadoop技巧(03):HostName命名带来的问题
  2. PHP 数据访问
  3. &lt;head&gt;中&lt;meta name=&quot;viewport&quot; content=&quot;width=device-width,initical-scale=1&quot;的作用&gt;
  4. destoon去掉会员注册email验证
  5. 仿东软OA协同办公服务管理系统
  6. ArcGIS百米网格自动生成
  7. 【BZOJ】2563: 阿狸和桃子的游戏
  8. W81安装记录
  9. java 格式化日期(DateFormat)
  10. HDU 5785 Interesting
  11. mysqli扩展库的 预处理技术 mysqli stmt
  12. Xcode6项目运行在真机上未铺满整个屏幕
  13. 与阿根廷一起学习Java Web四个发展:对于信息传输和信息传输
  14. table之thead兼容
  15. UML类图中连接线与箭头的含义(转)
  16. Python数据科学手册
  17. javascript高级程序设计第3版——第6章 面向对象的程序设计
  18. Ubuntu 18.04 安装Virtual Box or VMWare workstation Pro 14
  19. &lt;noip2017&gt;列队
  20. TModalResult 和 MessageBox 返回值

热门文章

  1. 洛谷 - P1162 - 填涂颜色 - 简单搜索
  2. POJ1700 【经典过河问题,贪心】
  3. [官方教程] Unity 5 BLACKSMITH深度分享 - 汇总帖
  4. python string类型 bytes类型 bytearray类型
  5. bzoj 2435: [Noi2011]道路修建【树形dp】
  6. P5167 xtq的神笔
  7. LeetCode.896-单调数组(Monotonic Array)
  8. PowerDesigner 16.5的下载安装破解注册(图文详解)
  9. Helvetic Coding Contest 2017 online mirror (teams allowed, unrated) M
  10. 题解报告:hdu 1969 Pie(二分)