多校联合(4) ZZ买衣服

来源:互联网 发布:淘宝助理图片检验出错 编辑:程序博客网 时间:2024/05/16 01:09

 ZZ买衣服

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 937  Solved: 126
Submit
Status
Web Board

Description

ZZACM队的漂亮MM,虽然是一个屌丝ACMer,但是还是有一颗爱美的心。ZZ像所有的女孩子一样,喜欢买各种衣服,可是ZZ有个特别的习惯,就是不买同一个品牌的衣服,可是品牌那么多,怎么辨别哪些买过,哪些没有买过呢?这可难倒了ZZ,同作为ACMer的你,来帮帮ZZ吧!至今为止ZZ已经买过N个品牌的衣服,接下来还要一次一次的买M个品牌的衣服,请你告诉她,哪些能买哪些不能买吧!

Input

题目有多组测试数据,每组测试数据首先输入NM,(0<=n,m<=100000)随后输入N个品牌,表示N个已经买过的品牌,紧跟着又有M个品牌,表示将要买的M个品牌。(品牌只由小写字母组成,长度不超过20)

Output

对于M个要买的品牌,如果能买,输出YES,否则输出NO,每个输出占一行。

Sample Input

2 3
he
she
me
she
it

Sample Output

YES
NO
YES




这个题目用到了头文件#include<map>和#include<set>,是容器的头文件。

关于容器map和set的用法可以   点击  map  set


以下代码来源于沐阳的博客。

Problem A_set


#include <cstdlib>
#include <cstdio>
#include <cstring>
#include <iostream>
#include <map>                                            
#include <algorithm>
#include <set>
using namespace std;


int N, M;
set<string>st;                    //命名st为容器set格式,其关键字(key)为字符串类型。


int main() {
    char str[100];
    while (scanf("%d %d", &N, &M) != EOF) {
        st.clear();                                      //初始化容器(删除所有元素)
        for (int i = 0; i < N; ++i) {
            scanf("%s", str);
            st.insert(str);                            //添加数据到容器中
        }
        for (int i = 0; i < M; ++i) {
            scanf("%s", str);
            if (st.count(str)) {                     //count()是返回字符串str出现的次数
                puts("NO");    
            } else {
                st.insert(str);
                puts("YES");
            }
        }
    }    
    return 0;    
}

原创粉丝点击