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方法用于数组元素排序,可是并未提供更丰富的数组加工操作,比如从某个字符串 ...
随机推荐
- 广东工业大学2016校赛决赛-网络赛 1169 Problem A: Krito的讨伐 优先队列
Problem A: Krito的讨伐 Description Krito终于干掉了99层的boss,来到了第100层.第100层可以表示成一颗树,这棵树有n个节点(编号从0到n-1),树上每一个节点 ...
- idea 中web项目 用自带tomcat启动问题,
严重: Exception sending context initialized event to listener instance of class com.zenointel.logserve ...
- 0x16 Trie
这章刷的真带劲 嘿嘿 裸题 #include<cstdio> #include<iostream> #include<cstring> #include<cs ...
- ThinkPHP是什么
ThinkPHP是什么 ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布.Th ...
- hdoj--1495--非常可乐(搜索+隐式图)
非常可乐 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) Total Submi ...
- POJ 3180 Tarjan
题意:找强连通中点数大于2的强连通分量个数 思路:Tarjan // By SiriusRen #include <cstdio> #include <algorithm> u ...
- 9-21 调试javaweb 数据库连接感想
如何找bug 一步步调试 数据库链接写一个简单的 test 数据库操作 sql语句 写一个类 测试一下 不要忽略细节 最后页面的显示 html "/head"少一个"/& ...
- 在Android源码下编译jni所需要知道的事~
以下只是自己的一些总结,欢迎讨论 通过NDK编译jni网上有很多例子,在这我只总结在Android源码下编译 1.android源码环境下编译so包,编出来的.so的包前面不会自动给添加lib,NDK ...
- VS头部自动注释
1.找你的vs安装目录, 比如我的是在D盘D:\Program Files\Microsoft\VS2013\Common7\IDE 2.然后点击右上角的 搜索. 搜索Class.cs文件 3.把里面 ...
- SpringBoot(十) 异步任务,定时任务和邮件任务
异步任务 “异步调用”对应的是“同步调用”,同步调用指程序按照定义顺序依次执行,每一行程序都必须等待上一行程序执行完成之后才能执行:异步调用指程序在顺序执行时,不等待异步调用的语句返回结果就执行后面的 ...