#1082 : 然而沼跃鱼早就看穿了一切

时间限制:1000ms
单点时限:1000ms
内存限制:256MB

描述

fjxmlhx每天都在被沼跃鱼刷屏,因此他急切的找到了你希望你写一个程序屏蔽所有句子中的沼跃鱼(“marshtomp”,不区分大小写)。为了使句子不缺少成分,统一换成 “fjxmlhx” 。

输入

输入包括多行。

每行是一个字符串,长度不超过200。

一行的末尾与下一行的开头没有关系。

输出

输出包含多行,为输入按照描述中变换的结果。

样例输入
The Marshtomp has seen it all before.
marshTomp is beaten by fjxmlhx!
AmarshtompB
样例输出
The fjxmlhx has seen it all before.
fjxmlhx is beaten by fjxmlhx!
AfjxmlhxB
题目链接:https://hihocoder.com/problemset/problem/1082
分析:自己看吧!

下面给出AC代码:

 #include<iostream>
#include <string.h>
using namespace std; typedef long long ll; int main(int argc , const char * argv[])
{
char s[];
while (cin.getline(s,))
{
char f[] = "marshtomp";
char t[] = "fjxmlhx";
int sl = strlen(s);
int fl= strlen(f);
int tl = strlen(t);
for (int i =; i<strlen(s); i++)
{
int j = ;
int k =i;
while (s[k] == f[j] || s[k] == (f[j]-))
{
k++;
j++;
if (j == fl)
{
for (int q = i; (q-i) < tl; q++)
{
s[q] = t[q-i];
}
for (int q = i+tl; q<strlen(s); q++)
{
if ( s[q+fl-tl] != '\0')
{
s[q] = s [q+fl-tl];
}
else
{
s[q] = '\0';
}
}
}
}
}
cout<<s<<endl;
} }

以上是官方代码,今天上课讲了一个cin.getline(),于是把我之前一直没有过的代码稍微改动了一下输入格式,要用while循环连续输入,否则会WA!

下面给出我的简洁版的AC代码:

 #include <bits/stdc++.h>
using namespace std;
int main()
{
char s[];
while(cin.getline(s,))//连续输入,cin.getline()的用法就是这样用,具体参照我的博客
{
for(int i=;s[i]!='\0';i++)
{
if((s[i]=='M'||s[i]=='m')&&(s[i+]=='a'||s[i+]=='A')&&(s[i+]=='r'||s[i+]=='R')&&(s[i+]=='s'||s[i+]=='S')&&(s[i+]=='h'||s[i+]=='H')&&(s[i+]=='t'||s[i+]=='T')&&(s[i+]=='o'||s[i+]=='O')&&(s[i+]=='m'||s[i+]=='M')&&(s[i+]=='p'||s[i+]=='P'))
{
s[i]='f';
s[i+]='j';
s[i+]='x';
s[i+]='m';
s[i+]='l';
s[i+]='h';
s[i+]='x';//这个if循环就是无视大小写,直接换
for(int j=i+;s[j]!='\0';j++)
s[j]=s[j+];//换完以后再挪位置
}
}
cout<<s<<endl;
}
return ;
}
 

hihoCoder #1082 : 然而沼跃鱼早就看穿了一切(字符串处理)的更多相关文章

  1. hihocoder 1082 然而沼跃鱼早就看穿了一切(字符串替换)

    时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 fjxmlhx每天都在被沼跃鱼刷屏,因此他急切的找到了你希望你写一个程序屏蔽所有句子中的沼跃鱼(“marshtomp”,不区 ...

  2. hihoCoder - 1082 - 然而沼跃鱼早就看穿了一切 (字符串处理!!)

    #1082 : 然而沼跃鱼早就看穿了一切 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描写叙述 fjxmlhx每天都在被沼跃鱼刷屏,因此他急切的找到了你希望你写一个程序屏蔽全 ...

  3. hihocoder 1082 然而沼跃鱼早就看穿了一切 (替换指定的串 )

    #1082 : 然而沼跃鱼早就看穿了一切 时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 fjxmlhx每天都在被沼跃鱼刷屏,因此他急切的找到了你希望你写一个程序屏蔽所有句 ...

  4. Hihocoder #1082 : 然而沼跃鱼早就看穿了一切 暴力

    时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 fjxmlhx每天都在被沼跃鱼刷屏,因此他急切的找到了你希望你写一个程序屏蔽所有句子中的沼跃鱼(“marshtomp”,不区 ...

  5. hihocoder:#1082 : 然而沼跃鱼早就看穿了一切(用string)

    题目是这样的: 描述 fjxmlhx每天都在被沼跃鱼刷屏,因此他急切的找到了你希望你写一个程序屏蔽所有句子中的沼跃鱼("marshtomp",不区分大小写).为了使句子不缺少成分, ...

  6. hihoCoder 1082然而沼跃鱼早就看穿了一切 (字符串处理)

    http://hihocoder.com/problemset/problem/1082 首先将字符串全部字母变成小写,不断用find查找字符串中的Marshtomp,并把每个字符变为’#‘ ,最后统 ...

  7. hihoCoder#1082 然而沼跃鱼早就看穿了一切

    原题地址 字符串匹配+替换 注意替换串和原串长度是不等的,所以替换完还要进行收缩 可以顺带练习一下KMP 代码: #include <iostream> #include <cstr ...

  8. 【hihoCoder】1082: 然而沼跃鱼早就看穿了一切

      题目:http://hihocoder.com/problemset/problem/1082 输入一个字符串,将其中特定的单词替换成另一个单词   代码注意点: 1. getline(istre ...

  9. 【面试笔试算法】Problem 8: 然而沼跃鱼早就看穿了一切(hiho题库)

    时间限制:1000ms 单点时限:1000ms 内存限制:256MB 描述 fjxmlhx每天都在被沼跃鱼刷屏,因此他急切的找到了你希望你写一个程序屏蔽所有句子中的沼跃鱼("marshtom ...

随机推荐

  1. 小白的Python之路 day1 数据类型,数据运算

    一.数据类型初识 1.数字 2 是一个整数的例子.长整数 不过是大一些的整数.3.23和52.3E-4是浮点数的例子.E标记表示10的幂.在这里,52.3E-4表示52.3 * 10-4.(-5+4j ...

  2. 【java API基本实现】ArrayList

    ArrayList: package com.tn.arraylist; public class ArrayList { Object[] objects=new Object[10]; int i ...

  3. iOS Swift基础知识代码

    推荐:Swift学习使用知识代码软件 //集合类型 数组 字典 func array1(){ var arr = [","dd"] //简单写法 var arr1 = [ ...

  4. tesserat训练中文备忘录

    最近用OCR识别身份证,用的tesseract引擎.但是google自带的中文库是在太慢了,尤其是对于性别.民族这样结果可以穷举的特征信息而言,完全可以自己训练字库.自己训练字库不仅可以提高识别速度, ...

  5. 原创js自动补全---auotocomplete

    if ($("input.autocomplete_input").length > 0) { $("input.autocomplete_input") ...

  6. C/C++调用Golang 一

    C/C++调用Golang 一 (开发环境: 操作系统: windows 7 32位操作系统 C++: visual studio 2010 Golang:go version go1.9 windo ...

  7. vim置于后台,vim 编辑多文件

    这里介绍一个很实用的方法:1.将vim置于后台,直接按 ctrl + z可以将当前的vim置于后台 2.然后可以去别的目录再打开一个 当你需要打开之前的vim的时候3.打jobs命令看当前有哪些vim ...

  8. 自定义php错误异常处理

    set_exception_handler() 函数设置用户自定义的异常处理函数. 该函数用于创建运行时期间的用户自己的异常处理方法. 该函数会返回旧的异常处理程序,若失败,则返回 null. set ...

  9. C# 防止同时调用=========使用读写锁三行代码简单解决多线程并发的问题

    http://www.jb51.net/article/99718.htm     本文主要介绍了C#使用读写锁三行代码简单解决多线程并发写入文件时提示"文件正在由另一进程使用,因此该进程无 ...

  10. iOS中的armv7,armv7s,arm64,i386,x86_64

    前言 一般iOS中的armv7.armv7s.arm64.i386.x86_64这些都代表了什么?在Xcode中如何选择? 介绍 armv7.armv7s.arm64都是ARM处理器的指令集. i38 ...