ZZ买衣服,map使用。

来源:互联网 发布:jpg读取函数 c语言 编辑:程序博客网 时间:2024/03/29 16:18

欢迎来到CSUST OJ


不建议使用IE浏览器,推荐谷歌、火狐。用IE内核浏览器请将浏览器的模式调整到急速模式。


请大家使用long long 不能使用__int64

Problem A: ZZ买衣服

Time Limit: 1 Sec  Memory Limit: 64 MB
Submit: 670  Solved: 71
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 3heshemesheit

Sample Output

YESNOYES

HINT

  1. #include <stdio.h>  
  2. #include <string.h>  
  3. #include <iostream>  
  4. #include <iterator>  
  5. #include <string>  
  6. #include <map>  
  7.   
  8. using namespace std;  
  9.   
  10. int N;  
  11.   
  12. int M;  
  13.   
  14. int main()  
  15. {  
  16.     map <string, int> m;  
  17.     char str[55];  
  18.     char pat[55];  
  19.     map <string, int> :: iterator it;         
    /*map是STL中的一个,映照容器,包含在#include<map>中,string是键值,int是数据,如果是map["happy"]=6,string str="happy",那么map[str]=6;*/ 
  20.     while (scanf("%d%d", &N, &M) != EOF)  
  21.     {  
  22.         m.clear();                             //初始化m,清楚m.
  23.         for (int i = 0; i < N; i++)  
  24.         {  
  25.             scanf("%s", str);  
  26.             m[str] = 1;                        //str这个值(字符串) 放入map容器中,它对应的位置序号为1.或者说标记为1表示存在
  27.         }  
  28.         for (int i = 0; i < M; i++)  
  29.         {  
  30.             scanf("%s", pat);  
  31.             if (m[pat] == 1)  
  32.             {  
  33.                 puts("NO");  
  34.             }  
  35.             else  
  36.             {  
  37.                 m[pat] = 1;  
  38.                 puts("YES");  
  39.             }  
  40.         }  
  41.     }  
  42. //  system("pause");  
  43.     return 0;  
  44. }  

原创粉丝点击