1. 程式人生 > >hrbust 訓練賽 1987

hrbust 訓練賽 1987

rip php 現在 今天 ios font 真的 using col

鏈接:

http://acm.hrbust.edu.cn/vj/index.php?c=problem-problem&id=126467

Description

今天fribbi的室友們又逃課了,秉著不能互相賣隊友的原則,他們選擇玩遊戲。他們讓fribbi替他們去點名,可是fribbi的室友們只告訴了fribbi他需要去新主樓點名,沒說哪個教室。不過還好fribbi有個掃描儀,當他進入到教室,可是很快掃描一下老師的點名冊裏有沒有他室友們的名字。

要知道今天是周五上午,要上選修課,這意味這fribbi要跑好幾個教室,去替不同的室友答到,而現在他需要做的是去檢查所有教室的點名冊裏有沒有他們室友們的名字,有誰的沒有誰的。

現在他進入到了D406,掃描儀很快檢查出有沒有這些室友們的名字。

Input

有多組測試數據,對於每組輸入數據,第一行輸入兩個正整數n和m,n代表點名冊裏的人數,m代表fribbi的室友個數。

接下來n行每行是一個字符串,代表點名冊裏的名字;再接下來m行每行是一個字符串,代表fribbi的室友的名字。

其中1≤n≤
10000,1≤m≤10000 (fribbi的室友真的很多),字符串的長度均不超過10。 Sample Input 對於每組測試數據,輸出占m行。分別表示這m個室友的名字是否出現過,出現過輸出yes,否則輸出no。 Sample Output 4 3 dream mac AmberG wind ShineCheng AmberG sunshine Hint no yes no

解題思路:

    題意:判斷室友的名字是否在老師要點的花名冊中,有就輸出yes 否則 no

    解法:依舊是map容器的 一 一 映射,一個value 對應一個key,即老師要點的花名冊中 map【姓名 】= 1 ;之後只要沒有出現記為 0 即可

代碼:

#include<iostream>
#include<string>
#include<string.h>
#include<map>
#include<stdio.h>
const int maxn = 10005;
using namespace std;

map<string,int>mp;

char name[11];
char syname[11];
int key[maxn];

int main()
{
    int n,m;
    while(~scanf("%d%d",&n,&m))
    {
        mp.clear();
        
for(int i = 0; i < n; i++) { scanf("%s",name); mp[name] = 1; } for(int i = 0; i < m ; i++ ) { scanf("%s",syname); if(mp[syname]) { key[i] = 1; } else key[i] = 0; } for(int i = 0; i < m; i++) { if(key[i]) printf("yes\n"); else printf("no\n"); } } return 0; }

hrbust 訓練賽 1987