1503: ZZ买衣服
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 928 Solved: 121
Description
ZZ是ACM队的漂亮MM,虽然是一个屌丝ACMer,但是还是有一颗爱美的心。ZZ像所有的女孩子一样,喜欢买各种衣服,可是ZZ有个特别的习惯,就是不买同一个品牌的衣服,可是品牌那么多,怎么辨别哪些买过,哪些没有买过呢?这可难倒了ZZ,同作为ACMer的你,来帮帮ZZ吧!至今为止ZZ已经买过N个品牌的衣服,接下来还要一次一次的买M个品牌的衣服,请你告诉她,哪些能买哪些不能买吧!
Input
题目有多组测试数据,每组测试数据首先输入N和M,(0<=n,m<=100000)随后输入N个品牌,表示N个已经买过的品牌,紧跟着又有M个品牌,表示将要买的M个品牌。(品牌只由小写字母组成,长度不超过20)
Output
对于M个要买的品牌,如果能买,输出YES,否则输出NO,每个输出占一行。
Sample Input
2 3heshemesheit
Sample Output
YESNOYES
HINT
Source
解题思路:纯属容器运用,没有过多算法思想。set容器相关介绍
#include<cstdio>
#include<iostream>
#include<set> //使用容器set
using namespace std;
set<string>st; //容器定义
int main()
{
int n,m;
while(~scanf("%d%d",&n,&m))
{
st.clear(); //容器清空
for(int i=0;i<n;i++) //已有衣服类型处理
{
char s[30];
scanf("%s",s);
st.insert(s); //已有衣服类型入容器
}
for(int j=0;j<m;j++) //要买的衣服类型处理
{
char d[30];
scanf("%s",d);
if(st.count(d)) //判断容器中是否存在该类型的衣服
printf("NO\n");
else
printf("YES\n"),st.insert(d);
}
}
return 0;
}