1 #define _CRT_SECURE_NO_WARNINGS 1
2 #include<bits/stdc++.h>
3 char str[100][40];
4 char s[1005];
5
6 int remark[2000][2] = { 0 };
7 /*第一行为一个整数 n,表示违禁词库有 n(1≤n≤100) 个。
8 第 2 行到第 n+1 行,每行有一个字符串 s (2≤|s|≤30) 表示违禁词,且均为小写字母。
9 第 n+2 行是一个字符串 t (2≤|t|≤1000),表示Keichi需要发送的信息,也均为小写字母。
10 其中 |s| 表示字符串 s 的长度。*/
11
12 int main()
13 {
14 int n;
15 scanf("%d", &n);
16 for (int i = 0; i < n; i++) {
17 scanf("%s", str[i]);
18 }//type in banned words
19 scanf("%s", s);//type in a long word jugded
20 int len = strlen(s),k=0;//获得总长度
21
22
23 for (int i = 0; i < n; i++) {//对每一个违禁词进行判断
24 int length = strlen(str[i]);//获得违禁词长度
25 int cnt = 0;//初始化已判断过的长度
26 int flag = 1,start=0,end=0;//打星号的标记,若为真一直为1
27 for (int j = 0; j < len;) {//对长串从头到尾进行判断
28
29 start = j;//记录开始的位置
30 while (s[j] == str[i][cnt] && s[j] != '\0' && cnt != length) {
31 cnt++;
32 j++;
33 flag = 1;
34 }
35
36 end = j;//标记结束的位置
37 if (!cnt || flag) { j=start+1; flag = 0; }
38 if (cnt < length) {
39 end = start;
40 }
41
42 //把那一段划掉
43 if (end - start > 0) {
44 remark[k][0] = start;
45 remark[k][1] = end;
46 k++;
47 //printf("[%d,%d]\n", start, end);
48 }//记录所在的区间
49 cnt = 0;
50
51 }
52 }
53 for (int i = 0; i < k; i++) {
54 for (int j = *(*(remark+i)+0); j < *(*(remark + i) + 1); j++) {
55 s[j] ='*';
56 }
57 }
58 printf("%s\n", s);
59 int cnt = 0;
60 for (int i = 0; i < len; i++) {
61 while (s[i] == '*'&&cnt<2) {
62 printf("%c", s[i]);
63 cnt++;
64 }
65 if (s[i] == '*' && cnt == 2) {
66 continue;
67 }
68 printf("%c", s[i]);
69 cnt = 0;
70 }
71 printf("\n");
72 return 0;
73 }

1945-祖安 say hello-String的更多相关文章

  1. apk安装包信息

    String archiveFilePath="sdcard/DangDang.apk";//安装包路径          PackageManager pm = getPacka ...

  2. kotlin学习笔记-异常好玩的list集合总结

    不积跬步无以至千里,不积小流无以成江海 先看看Kotlin中for循环的遍历 fun testList(){ var StringVal = "12_12_13_15_a_b_c_d_yu_ ...

  3. 跟着我一起学习大数据——Hadoop

    hadoop配置文件:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.9.0/ 一:Hadoop简介 总结下起源于Nutch项目,社区 ...

  4. Go语言系列之手把手教你撸一个ORM(一)

    项目地址:https://github.com/yoyofxteam/yoyodata 欢迎星星,感谢 前言:最近在学习Go语言,就出于学习目的手撸个小架子,欢迎提出宝贵意见,项目使用Mysql数据库 ...

  5. 使用java随机生成有个性的用户名,LOL地名+水浒传,合计2808个有意思的用户名

    * 随机生成用户名 * 取水浒传108好汉名字 * 取LOL地名26个,组合而成 * 一共可以生成2808个不同特色的用户名 如果你在上网的时候,用户名难取的话,这里有很多可选择的用户名,现提供100 ...

  6. 模板短信接口调用java,pythoy版(二) 阿里大于

    说明 功能:短信通知发送 + 短信发送记录查询,所有参数我没有改动,实测有效! 请自行参考 + 官方API! 短信模板示例:尊敬的${name},您的快递已在飞奔的路上,将在今天${time}送达您的 ...

  7. adroid 目录

    安桌程式安装后存在目录:\手机存储\Android\data 一: //  获取当前程序路径 getApplicationContext().getFilesDir().getAbsolutePath ...

  8. 使用java开源工具httpClient及jsoup抓取解析网页数据

    今天做项目的时候遇到这样一个需求,需要在网页上展示今日黄历信息,数据格式如下 公历时间:2016年04月11日 星期一 农历时间:猴年三月初五 天干地支:丙申年 壬辰月 癸亥日 宜:求子 祈福 开光 ...

  9. Android UiAutomator 自动化测试编译运行---新手2

    1.首先打开eclipse创建java项目

  10. 分享,iOS国家手机区号代码.plist

    APP注册需要手机号码的时候,如果有在其他国家的时候需要填写手机区号 一份有国家名字和区号的plist 参照微信注册的时候 格式是 <Array> <Array> <Ar ...

随机推荐

  1. Docker多机网络

    前言 前面的文章主要聚焦于单机网络上,对于生产环境而言,单机环境不满足高可用的特点,所以是不具备上生产的条件,因此在开始Docker Swarm篇的时候我们先来聊聊多机网络之间Docker的通信如何做 ...

  2. nohup、&、 2>&1详解

    前言 对一个程序员来说,java项目的打包部署也是一项必须掌握的一项技术任务,现我将自己平时在maven下打包以及部署项目总结,希望对有这方面诉求的小伙伴有所帮助! 一.maven项目打包及命令 (1 ...

  3. [hdu6580]Milk

    考虑定义以下dp数组:1.g1[i][j]表示第i行从中间出发向左取j瓶牛奶最少要多久2.g2[i][j]表示第i行从中间出发向右取j瓶牛奶最少要多久3.g3[i][j]表示在g1[i][j]的基础上 ...

  4. [gym102268E]Expected Value

    令$X$为移动次数,答案即$\sum_{i=0}^{\infty}P(X>i)$,后者记作$S_{i}$ 关于$S_{i}$,令$f_{i,j}$表示走了$i$步后位于$j$且未到达过$k$的概 ...

  5. [bzoj2743]采花

    预处理出每一个点下一个相同颜色的位置,记为next,然后将询问按左端点排序后不断右移左指针,设要删除i位置,就令f[next[next[i]]+1,同时还要删除原来的标记,即令f[next[i]]-1 ...

  6. 【TcaplusDB知识库】如何部署TcaplusDB Local 版

    [TcaplusDB知识库]部署TcaplusDB Local 版的准备操作 1. 版本介绍 TcaplusDB Local版,是为用户提供的一个满足本地开发调试的版本(基于Docker部署的可下载版 ...

  7. C语言下的Led灯

    1. 设计思想 1.1 设置处理器模式 设置sp啥的汇编要先进入SVC模式,超级管理员特权模式,这样就可以访问所有寄存器了,需要用到cpsr寄存器 0到4位要设置svc模式10011 = 0x13, ...

  8. Netty高性能网络应用框架对标P7面试题分享v4.1.70.Final

    概述 **本人博客网站 **IT小神 www.itxiaoshen.com 定义 Netty官网 https://netty.io/ 最新版本为4.1.70.Final Netty是一个异步的.事件驱 ...

  9. C#中的异步

    什么是异步? 作为一名Web端的码农,第一次接触异步是Ajax. 异步请求后端获取数据源,js操作html的dom节点,而无需要渲染整个网页的操作. 页面上点击按钮,加载进度动画,同时发起Ajax请求 ...

  10. 『学了就忘』Linux权限管理 — 55、文件特殊权限

    目录 1.文件特殊权限说明 2.设置SetUID 3.检测SetUID的脚本 4.设置SetGID (1)针对文件的作用 (2)针对目录的作用 5.Sticky BIT 6.设定文件特殊权限 7.文件 ...