记录编号 472794 评测结果 AAAAAAAAAAA
题目名称 文章过滤器 最终得分 100
用户昵称 GravatarTheWait 是否通过 通过
代码语言 C++ 运行时间 0.018 s
提交时间 2017-11-07 21:03:17 内存使用 0.39 MiB
显示代码纯文本
#include <cstdio>
bool match[256][256];
char ban[60][30], s[20010];
bool bad[20010];
int main()
{
	freopen("fliter.in", "r", stdin);
	freopen("fliter.out", "w", stdout);
	for(int i = 0; i != 26; ++i)
		match['a' + i]['a' + i] = 
		match['a' + i]['A' + i] = 
		match['A' + i]['a' + i] = 
		match['A' + i]['A' + i] = 1;
	int n; scanf("%d\n", &n);
	for(int i = 0; i != n; ++i) gets(ban[i]);
	gets(s);
	for(int k = 0; k != n; ++k)
	{
		char *t = ban[k];
		for(int i = 0; s[i]; ++i)
		{
			bool fail = 0;
			for(int j = 0; t[j]; ++j) if(!match[(int) s[i + j]][(int) t[j]]) fail = 1;
			if(fail) continue;
			for(int j = 0; t[j]; ++j) bad[i + j] = 1;
		}
	}
	for(int i = 0; s[i]; ++i) if(bad[i]) s[i] = '*';
	puts(s);
}