1503: ZZ買衣服
Time Limit: 1 Sec Memory Limit: 128 MB
Submit: 928 Solved: 121SubmitStatusWeb Board
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
HINTSource
2013ACM多校聯合(4)_NUN
解題思路:純屬容器運用,沒有過多演算法思想。set容器相關介紹
#include<cstdio>#include<iostream>#include<set> //使用容器setusing 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;}