zoukankan      html  css  js  c++  java
  • 脏话过滤

    2761 脏话过滤

     

     时间限制: 1 s
     空间限制: 8000 KB
     题目等级 : 白银 Silver
     
     
     
    题目描述 Description

    某论坛希望打造文明论坛,对于每个帖子需要将脏话换成*输出。

    脏话有38,250,2B,BT,TMD,PIG,SHIT,FUCK。

    若没有一个脏字,则此人文明。

    否则不文明。

    对于有重叠部分的脏话需全部替换。

    输入描述 Input Description

    字符串

    输出描述 Output Description

    修改字符串

    是否文明(YES或NO)。

    样例输入 Sample Input

    322BBBTTFUCPIGKSHITMDD8

    样例输出 Sample Output

    32**B**TFUC***K******D8

    NO

    数据范围及提示 Data Size & Hint

    字符串长度<=100.只有数字和大写字母。

    #include<iostream>
    #include<cstdio>
    #include<cstring>
    #include<cstdlib>
    #define MAXN 40005
    using namespace std;
    int main()
    {
        char s[110];
        int ss[110];
        cin>>s;
        int n=strlen(s);
        bool flag=true;
        for(int i=0; i<n; i++)
            ss[i]=1;
        for(int i=0; i<n; i++)
        {
            if((s[i]=='3')&&(s[i+1]=='8')) 
            {
                ss[i]=ss[i+1]=0;
                flag=false;
            }
            if((s[i]=='2')&&(s[i+1]=='5')&&(s[i+2]=='0')) 
            {
                ss[i]=ss[i+1]=ss[i+2]=0;
                flag=false;
            }
            if((s[i]=='2')&&(s[i+1]=='B')) 
            {
                ss[i]=ss[i+1]=0;
                flag=false;
            }
            if((s[i]=='B')&&(s[i+1]=='T')) 
            {
                ss[i]=ss[i+1]=0;
                flag=false;
            }
            if((s[i]=='T')&&(s[i+1]=='M')&&(s[i+2]=='D')) 
            {
                ss[i]=ss[i+1]=ss[i+2]=0;
                flag=false;
            }        
            if((s[i]=='P')&&(s[i+1]=='I')&&(s[i+2]=='G')) 
            {
                ss[i]=ss[i+1]=ss[i+2]=0;
                flag=false;
            }
            if((s[i]=='S')&&(s[i+1]=='H')&&(s[i+2]=='I')&&(s[i+3]=='T')) 
            {
                ss[i]=ss[i+1]=ss[i+2]=ss[i+3]=0;
                flag=false;
            }
            if((s[i]=='F')&&(s[i+1]=='U')&&(s[i+2]=='C')&&(s[i+3]=='K')) 
            {
                ss[i]=ss[i+1]=ss[i+2]=ss[i+3]=0;
                flag=false;
            }
        }
        for(int i=0; i<n; i++)
        {
            if(ss[i]==1) 
                cout<<s[i];
            else 
                cout<<"*";
        }
        cout<<endl;
        if(flag)
            cout<<"YES";
        else 
            cout<<"NO";
        return 0;
    }
  • 相关阅读:
    1059. Prime Factors (25)
    mybatis中resultType和resultMap的区别
    Spring Boot中使用Swagger2构建强大的RESTful API文档
    ES6之6种遍历对象属性的方法
    QQ授权登录
    nodejs爬虫入门
    nrm -- NPM registry 管理工具(附带测速功能)
    Sublime Text 3 使用MarkDown编写带预览的文本
    js中字符串函数indexOf与search的区别
    linux基础入门
  • 原文地址:https://www.cnblogs.com/dxy1174868024/p/5540320.html
Copyright © 2011-2022 走看看