zzulioj--1633--Happy Thanksgiving Day - Hateable Name(字符串筛选)
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
Sample Output
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(字符串筛选)的更多相关文章
- 表视图控制器(TableViewController)(三) 、 表视图搜索
1 乐库的设置界面 1.1 问题 tableView分为静态(static)和动态(dynamic),之前使用的都是动态的tableView,表视图的有多少分区.有多少行以及每一行显示的内容都不是固定 ...
- C# DataTable
http://www.cnblogs.com/xun126/archive/2010/12/30/1921557.html http://msdn.microsoft.com/zh-cn/librar ...
- Datable 详解,及用法
一.DataSet.DataTable.DataRow.DataColumn 1] 在DataSet中添加DataTable DataSet.Tables.Add(DataTable) 实例: Dat ...
- C#DataTable操作
] 在DataSet中添加DataTable DataSet.Tables.Add(DataTable) 实例: DataSet ds=new DataSet(); DataTable table=n ...
- C#DataTable学习心得
C#DataTable学习心得 一.DataSet.DataTable.DataRow.DataColumn 1] 在DataSet中添加DataTable DataSet.Tables.Add(Da ...
- (转)C#DataTable学习心得
一.DataSet.DataTable.DataRow.DataColumn 1] 在DataSet中添加DataTable DataSet.Tables.Add(DataTable) 实例: Dat ...
- lxml的另一种用法
python中lxml库是一个十分强大的xml解析库,最近在看<白帽子将web扫描>这本书的时候,里面提供了一种不同于以往的用法,因此在这将这个方法记录下来 传统的lxml库的使用方法类似 ...
- 20160212.CCPP体系详解(0022天)
程序片段(01):01.二维数组.c 内容概要:二维数组 #include <stdio.h> #include <stdlib.h> //01.关于栈内存开辟数组: // 诀 ...
- Java开发笔记(六十三)双冒号标记的方法引用
前面介绍了如何自己定义函数式接口,本文接续函数式接口的实现原理,阐述它在数组处理中的实际应用.数组工具Arrays提供了sort方法用于数组元素排序,可是并未提供更丰富的数组加工操作,比如从某个字符串 ...
随机推荐
- Android::开机自启动C程序【转】
本文转载自:http://blog.csdn.net/Kaiwii/article/details/7681736 之前一篇博文介绍了shell脚本文件的开机启动,地址是http://blog.chi ...
- isual Studio 2013编译ImageMagick---转
“该文引用自 CruiseYoung的:Visual Studio 2013编译ImageMagick http://blog.csdn.net/fksec/article/details/36008 ...
- java.lang.NoClassDefFoundError: javax/servlet/ServletInputStream
转自:https://blog.csdn.net/y970105/article/details/355401 进入 tomcat根目录/lib/servlet-api.jar复制出来,放到JDK_P ...
- 8.MATLAB数据分析
概述: clc; clear all; p1=[ ]; y=poly2sym(p1) %由向量创建多项式 disp(y) %显示多项式 1 多项式的求值与求根 clc; clear all; p=[ ...
- 【转】解析<button>和<input type="button"> 的区别
一.定义和用法 <button> 标签定义的是一个按钮. 在 button 元素内部,可以放置文本或图像.这是<button>与使用 input 元素创建的按钮的不同之处. 二 ...
- Java基础——类和对象的初始化过程
本节把类和对象的初始化所涉及到的所有代码块阐述一边. 示例代码: public class Demo { private static String name; private String age; ...
- SQL学习——基础语句(4)
前面感觉真的好乱,想哪,写哪.这里慢慢整理…… SQL Having 语句 还是前面的那两个表: grade表: student表: 我们需要查找这里的s_id下的gradeValue的和,这就要分组 ...
- Win7下安装Flash低版本
我把HKEY_LOCAL_MACHINE\SOFTWARE\Macromedia\FlashPlayer\SafeVersions中高于要装的版本的项目都删了,还是不行. 看了这个帖子后发现,原来64 ...
- CorelDRAW简单绘制的一杯满满的橙汁教程
CorelDRAW怎么画一杯橙汁?方法很简单,首先绘制一个闭合路径,执行线性渐变,填充颜色:复制图形,使用刻刀工具裁剪两半,更改不透明度:然后为橙汁增加底部椭圆:修剪橙子片:绘制吸管:最后加上一层橙子 ...
- 细数ZBrush这些年的心路历程
ZBrush 的出现,带来了一场3D造型的革命.它完全颠覆了传统三维设计工具的工作模式,将3D空间绘图这种全新的设计理念呈现在广大设计师面前,强大的雕塑建模功能和颜色绘制功能释放了艺术家的灵感,让设计 ...