1945-祖安say hello-string

1 #include<bits/stdc++.h>
2 char str[100][40];
3 char s[1005];
4
5 int remark[2000][2] = { 0 };
6 /*第一行为一个整数 n,表示违禁词库有 n(1≤n≤100) 个。
7 第 2 行到第 n+1 行,每行有一个字符串 s (2≤|s|≤30) 表示违禁词,且均为小写字母。
8 第 n+2 行是一个字符串 t (2≤|t|≤1000),表示Keichi需要发送的信息,也均为小写字母。
9 其中 |s| 表示字符串 s 的长度。*/
10 int main()
11 {
12 int n;
13 scanf("%d", &n);
14 for (int i = 0; i < n; i++) {
15 scanf("%s", str[i]);
16 }//type in banned words
17 scanf("%s", s);//type in a long word that jugded
18 int len = strlen(s),k=0;//获得总长度
19
20
21 for (int i = 0; i < n; i++) {//对每一个违禁词进行判断
22 int length = strlen(str[i]);//获得违禁词长度
23 int cnt = 0;//初始化已判断过的长度
24 int flag = 1,start=0,end=0;//打星号的标记,若为真一直为1
25 for (int j = 0; j < len;) {//对长串从头到尾进行判断
26
27 start = j;//记录开始的位置
28 while (s[j] == str[i][cnt] && s[j] != '\0' && cnt != length) {
29 cnt++;
30 j++;
31 flag = 1;
32 }
33
34 end = j;//标记结束的位置
35 if (!cnt || flag) { j=start+1; flag = 0; }
36 if (cnt < length) {
37 end = start;
38 }
39
40 //把那一段划掉
41 if (end - start > 0) {
42 remark[k][0] = start;
43 remark[k][1] = end;
44 k++;
45 //printf("[%d,%d]\n", start, end);
46 }//记录所在的区间
47 cnt = 0;
48
49 }
50 }
51 for (int i = 0; i < k; i++) {
52 for (int j = *(*(remark+i)+0); j < *(*(remark + i) + 1); j++) {
53 s[j] ='*';
54 }
55 }
56 //printf("%s\n", s);
57 int cnt = 0;
58 for (int i = 0; i < len; i++) {
59 while (s[i] == '*'&&cnt<2) {
60 printf("%c", s[i]);
61 cnt++;
62 }
63 if (s[i] == '*' && cnt == 2) {
64 continue;
65 }
66 printf("%c", s[i]);
67 cnt = 0;
68 }
69 printf("\n");
70 return 0;
71 }
1945-祖安say hello-string的更多相关文章
- apk安装包信息
String archiveFilePath="sdcard/DangDang.apk";//安装包路径 PackageManager pm = getPacka ...
- kotlin学习笔记-异常好玩的list集合总结
不积跬步无以至千里,不积小流无以成江海 先看看Kotlin中for循环的遍历 fun testList(){ var StringVal = "12_12_13_15_a_b_c_d_yu_ ...
- 跟着我一起学习大数据——Hadoop
hadoop配置文件:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.6.0-cdh5.9.0/ 一:Hadoop简介 总结下起源于Nutch项目,社区 ...
- Go语言系列之手把手教你撸一个ORM(一)
项目地址:https://github.com/yoyofxteam/yoyodata 欢迎星星,感谢 前言:最近在学习Go语言,就出于学习目的手撸个小架子,欢迎提出宝贵意见,项目使用Mysql数据库 ...
- 使用java随机生成有个性的用户名,LOL地名+水浒传,合计2808个有意思的用户名
* 随机生成用户名 * 取水浒传108好汉名字 * 取LOL地名26个,组合而成 * 一共可以生成2808个不同特色的用户名 如果你在上网的时候,用户名难取的话,这里有很多可选择的用户名,现提供100 ...
- 模板短信接口调用java,pythoy版(二) 阿里大于
说明 功能:短信通知发送 + 短信发送记录查询,所有参数我没有改动,实测有效! 请自行参考 + 官方API! 短信模板示例:尊敬的${name},您的快递已在飞奔的路上,将在今天${time}送达您的 ...
- adroid 目录
安桌程式安装后存在目录:\手机存储\Android\data 一: // 获取当前程序路径 getApplicationContext().getFilesDir().getAbsolutePath ...
- 使用java开源工具httpClient及jsoup抓取解析网页数据
今天做项目的时候遇到这样一个需求,需要在网页上展示今日黄历信息,数据格式如下 公历时间:2016年04月11日 星期一 农历时间:猴年三月初五 天干地支:丙申年 壬辰月 癸亥日 宜:求子 祈福 开光 ...
- Android UiAutomator 自动化测试编译运行---新手2
1.首先打开eclipse创建java项目
- 分享,iOS国家手机区号代码.plist
APP注册需要手机号码的时候,如果有在其他国家的时候需要填写手机区号 一份有国家名字和区号的plist 参照微信注册的时候 格式是 <Array> <Array> <Ar ...
随机推荐
- VLAN实验
VLAN实验 如图所示:图中共有四个广播域,左边逻辑的分为两个广播域,右边也是逻辑的分为两个广播域, 配置顺序先配置交换机,在配置路由器 SW1 配置: 1.首先创建vlan [sw1]vlan ba ...
- [第三章]c++学习笔记2(静态成员变量)
静态成员:在说明前加了static关键字的对象 使用例: 基本概念 普通成员变量每个对象有各自的一份,而静态成员变量总共只有一份,为所有对象共享. 普通成员函数必须具体作用与某个对象,而静态成员函数并 ...
- windonw10 ,python3.7安装gevent
前言:gevent协程,网上找到安装gevent 需要安装grennlent. 1.首先根据版本下载相应的gevent模块,可以去官方下,我是在这里下载的.http://www.lfd.uci.edu ...
- [cf1479D]Odd Mineral Resource
先考虑判定是否有解,注意到无解即每一个数都出现偶数次,根据异或的性质,只需要随机$V_{i}$,假设$u$到$v$路径上所有节点构成集合$S$,若$\bigoplus_{x\in S,l\le a_{ ...
- [ARC117E]Zero-Sum Ranges 2
令$sum_{i}=\sum_{j=1}^{i}a_{j}$,即要求其满足: 1.$sum_{0}=sum_{2n}=0$且$\forall 1\le i\le 2n,|sum_{i}-sum_{i- ...
- [luogu5666]树的重心
考虑枚举一个点k,求其为重心的方案数暴力的做法是,将其作为根搜索,设最大子树大小为s1,次大为s2,对割掉的子树分类讨论:1.在子树中,分两种情况(都可以用线段树合并来做) (1)从s1中切掉一棵大小 ...
- jvm的垃圾回收
首先类加载的过程:加载验证准备解析初始化 类加载器: jvm内存模型图: 空着,等以后补上 jvm垃圾收集器 目前只知道,parnew,cms,g1 parnew新生代垃圾回收器,复制算法 cms复制 ...
- CSP-S2021 被碾压记
没啥好说的,不会 T3 这种贪心/dk,或者说我的贪心能力太拉跨导致 T3 这种基本的贪心都不会. 只能说,还好 CSP 不算省选.自爆了,根本没心情写游记. 希望大家不要因为我这次的失误而瞧不起我这 ...
- 洛谷 P5046 [Ynoi2019 模拟赛] Yuno loves sqrt technology I(分块+卡常)
洛谷题面传送门 zszz,lxl 出的 DS 都是卡常题( 首先由于此题强制在线,因此考虑分块,我们那么待查询区间 \([l,r]\) 可以很自然地被分为三个部分: 左散块 中间的整块 右散块 那么这 ...
- python函数理解 json.dump()
信息来自python说明文档(https://docs.python.org/3/library/json.html) 函数功能 输出一个python对象到文件 函数声明 json.dump(obj, ...