1633: Happy Thanksgiving Day - Hateable Name

Time Limit: 1 Sec  Memory Limit:
128 MB

Submit: 75  Solved: 21



SubmitStatusWeb
Board

Description

感恩节到了,yjj收到了许多来自全国各地乃至国际友人的问候信件。但是由于yjj的队友平时经常欺她%>_<%,所以她不想在信件的内容里看见"wx"和"psq"(不包括引号,不区分大小写)这两个名字。现在yjj把信交给了聪明的你,请你帮忙过滤信的内容,使yjj最后看见的内容里不含有那两个名字。

Input

输入包含多组测试实例,直到"END"结束。

每组实例包含一个长度不超过100的字符串且仅含有英文字母。

Output

对于每组实例,输出一个字符串代表过滤后yjj看见的信的内容。

Sample Input

WxhepsQissb
END

Sample Output

heissb

HINT

Source

殇殇徕迟

刚开始没有考虑到删除字符后会出现新的不符合要求的字符串,wa了一次,好坑,

每次遍历字符串,发现不符合要求的就不管,但是如果删除得有字符串,那么就有可能出现新的,所以要再判断一遍知道遍历一次字符串,没有发现不符合要求的字符串

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
char str[1010],b[1010];
while(scanf("%s",str)!=EOF)
{
if(strcmp(str,"END")==0) break;
int flog=0;
while(true)
{
flog=0;
int l=0;
for(int i=0;i<strlen(str);i++)
{
if((str[i]=='W'&&str[i+1]=='X')||(str[i]=='W'&&str[i+1]=='x')||(str[i]=='w'&&str[i+1]=='X')||(str[i]=='w'&&str[i+1]=='x'))
{i+=1,flog=1;continue;}
else if
(
(str[i]=='P'&&str[i+1]=='S'&&str[i+2]=='Q')||
(str[i]=='P'&&str[i+1]=='S'&&str[i+2]=='q')||
(str[i]=='P'&&str[i+1]=='s'&&str[i+2]=='Q')||
(str[i]=='P'&&str[i+1]=='s'&&str[i+2]=='q')||
(str[i]=='p'&&str[i+1]=='S'&&str[i+2]=='Q')||
(str[i]=='p'&&str[i+1]=='S'&&str[i+2]=='q')||
(str[i]=='p'&&str[i+1]=='s'&&str[i+2]=='Q')||
(str[i]=='p'&&str[i+1]=='s'&&str[i+2]=='q'))
{i+=2,flog=1;continue;}
else b[l++]=str[i];
}
b[l]='\n';
if(!flog)
break;
memset(str,'\0',sizeof(str));
for(int j=0;j<l;j++)
str[j]=b[j];
memset(b,'\0',sizeof(b));
}
printf("%s\n",str);
}
return 0;
}

zzulioj--1633--Happy Thanksgiving Day - Hateable Name(字符串筛选)的更多相关文章

  1. 表视图控制器(TableViewController)(三) 、 表视图搜索

    1 乐库的设置界面 1.1 问题 tableView分为静态(static)和动态(dynamic),之前使用的都是动态的tableView,表视图的有多少分区.有多少行以及每一行显示的内容都不是固定 ...

  2. C# DataTable

    http://www.cnblogs.com/xun126/archive/2010/12/30/1921557.html http://msdn.microsoft.com/zh-cn/librar ...

  3. Datable 详解,及用法

    一.DataSet.DataTable.DataRow.DataColumn 1] 在DataSet中添加DataTable DataSet.Tables.Add(DataTable) 实例: Dat ...

  4. C#DataTable操作

    ] 在DataSet中添加DataTable DataSet.Tables.Add(DataTable) 实例: DataSet ds=new DataSet(); DataTable table=n ...

  5. C#DataTable学习心得

    C#DataTable学习心得 一.DataSet.DataTable.DataRow.DataColumn 1] 在DataSet中添加DataTable DataSet.Tables.Add(Da ...

  6. (转)C#DataTable学习心得

    一.DataSet.DataTable.DataRow.DataColumn 1] 在DataSet中添加DataTable DataSet.Tables.Add(DataTable) 实例: Dat ...

  7. lxml的另一种用法

    python中lxml库是一个十分强大的xml解析库,最近在看<白帽子将web扫描>这本书的时候,里面提供了一种不同于以往的用法,因此在这将这个方法记录下来 传统的lxml库的使用方法类似 ...

  8. 20160212.CCPP体系详解(0022天)

    程序片段(01):01.二维数组.c 内容概要:二维数组 #include <stdio.h> #include <stdlib.h> //01.关于栈内存开辟数组: // 诀 ...

  9. Java开发笔记(六十三)双冒号标记的方法引用

    前面介绍了如何自己定义函数式接口,本文接续函数式接口的实现原理,阐述它在数组处理中的实际应用.数组工具Arrays提供了sort方法用于数组元素排序,可是并未提供更丰富的数组加工操作,比如从某个字符串 ...

随机推荐

  1. 运行shell命令

    首先将shell命令命名为.sh文件 将上面的代码保存为test.sh.并 cd 到对应文件夹: chmod +x ./test.sh #使脚本具有运行权限 ./test.sh #运行脚本 假设报错/ ...

  2. Android自己定义控件系列三:自己定义开关button(二)

    接上一篇自己定义开关button(一)的内容继续.上一次实现了一个开关button的基本功能.即自己定义了一个控件.开关button,实现了点击切换开关状态的功能.今天我们想在此基础之上.进一步实现触 ...

  3. mysqli数据库操作简单实例

    mysqli数据库操作简单实例 代码 结果

  4. nyoj--1185--最大最小值(线段树)

    最大最小值 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 给出N个整数,执行M次询问. 对于每次询问,首先输入三个整数C.L.R: 如果C等于1,输出第L个数到第R个数 ...

  5. 动态连通性问题:union-find算法

    写在前面的话: 一枚自学Java和算法的工科妹子. 算法学习书目:算法(第四版) Robert Sedgewick 算法视频教程:Coursera  Algorithms Part1&2 本文 ...

  6. Bootstrap表格内容居中

    1.<th style='text-align: center;'>host</th> 水平居中 2.<td rowspan=$row_host1 style='vert ...

  7. ElementUI 表格表头筛选框的高度设置,超出一定高度,显示滚动条

    最近项目发现一个问题table表头筛选的时候,由于筛选内容过多导致弹出框超出屏幕,并且无法滚动,应急的办法是缩小浏览器显示比例让更多内容显示

  8. Spark RDD概念学习系列之transformation操作

    不多说,直接上干货! transformation操作 惰性求值 (1)RDD 的转化操作都是惰性求值的.这意味着在被调用行动操作之前Spark不会开始计算. (2)读取数据到RDD的操作也是惰性的. ...

  9. AVL数

    平衡二叉树(AVL树) AVL树是一种二叉搜索树,并且每个节点的左右子树高度之差最多为1.AVL树是第一个在最坏的情况下保证以O(logn)的时间进行搜索,插入和删除操作的数据结构,AVL树能在对数时 ...

  10. Js基础知识(作用域、特殊函数---自调、回调、作为值的函数)

    15.作用域 概念: 规定变量或函数的可被访问的范围和生命周期 分类: 全局作用域 -就是指当前整个页面环境: 局部作用域(函数作用域) -就是指某个函数内部环境 l 变量的作用域 全局变量 - 定义 ...