众所周知,磊神经常会说:“别恶心啊!”在一次次聊天与对话中,大家掌握了磊神说话的规律。
磊神讨厌部分短语,比如 jidiandiyi,taiqiangle,juanguai\texttt{jidiandiyi}, \texttt{taiqiangle}, \texttt{juanguai}jidiandiyi,taiqiangle,juanguai 等,每当你说的一段话里出现了其中的任一短语,磊神就会说 bieexina\texttt{bieexina}bieexina,否则他只会说 enenen\texttt{enenen}enenen 来敷衍你。
给出 nnn 个字符串,表示磊神讨厌的短语。接下来你要处理 mmm 次查询,每次查询给出一个字符串,判断磊神面对这些话时,他会说什么。
输入描述:
第一行有两个正整数 n,mn, mn,m,分别表示磊神讨厌的短语个数和需要处理的查询次数。其中 1⩽n,m⩽1001 \leqslant n, m\leqslant 1001⩽n,m⩽100。 接下来 nnn 行,每行有一个字符串,表示磊神讨厌的短语个数。 接下来 mmm 行,每行有一个字符串,表示待查询的字符串。 保证题目中给出的字符串长度均不超过 202020 且都由小写英文字母组成。
输出描述:
输出 mmm 行,每行输出 bieexina\texttt{bieexina}bieexina 或者 enenen\texttt{enenen}enenen 表示查询结果。
输入
5 5 jidiandiyi jinpaiye juanguai guoyi guojiajiangxuejin zylzhuanyejidiandiyi guojiajiangxuejina shenmeguaibaobao nishishabiba leishenjiaojiaowoa
输出
bieexina bieexina enenen enenen enenen
题解:
题最关键的的是使用c++里的string.find(string)函数,其运用的模型为
string//指的是被定义为字符串的名字也是要被检查的字符串//.find(string//这里指的是用检查出现的字符串是什么//)而一旦被检查到有出现相同的字符串就返回值-1;
另外也还有一种用法即利用字符串的定义来检查单个位于字符串的字符是否出现
此种用法的使用格式为string.find("char",n);大致格式都与以上相同string.find("char//此char指的是要检查字符是什么",n//代表的是出现在该字符串的什么位置(是个整数))
#include <iostream>
#include <algorithm>
#include <stdio.h>
using namespace std;
string e[10001];//定义一个字符串表示输入磊子会生气的字符串
string w[10001];//定义一个字符串表示磊子听到的字符串
int main()
{
int n,m;//输入生气的话的字符串的个数//以及输入需要判断的话的个数
cin>>n>>m;
for(int i=1;i<=n;i++)//将会生气的话先存入其中
{
cin>>e[i];
}
int ans=0;//定义判断//用ans的值来用作判断
for(int i=1;i<=m;i++)//将需要判断的话 存入数组
{
cin>>w[i];
int ans=0;
for(int j=1;j<=n;j++)
{
if(w[i].find(e[j])!=-1)//这里find函数作为一个判断来使用(实际也是一个判断)
{
ans=1;
break;
}
}
if(ans==1)//找到了
{
cout<<"bieexina"<<endl;
}
else//没找到
{
cout<<"enenen" << endl;
}
}
return 0;
}