2014ACM集训13级PK赛4-80ers' Memory

来源:互联网 发布:阿里巴巴 淘宝便宜 编辑:程序博客网 时间:2024/06/07 11:28

Description

I guess most of us are so called 80ers, which means that we were born in the 1980's. This group of people shared a lot of common memories. For example, the Saint Seiya, the YoYo ball, the Super Mario, and so on. Do you still remember these?

Input

There will be ONLY ONE test case.

The test case begins with a positive integer N, (N < 100).
Then there will be N lines each containing a single word describing a keyword of the typical 80ers' memories. Each word consists of letters, [a-zA-Z], numbers, [0-9], and the underline, '_'. The length of each word would be no more than 20.
Then one line follows with a positive integer K, (K < 100).
The last part of the test case will be K lines. The i-th line contains the keywords given by thei-th person and starts with a positive integer Ni. Then there will beNi words separated by white spaces. Each of these words has no more than 20 characters.
All the words are case sensitive.

Output

For each of these K people, you are asked to count the number of typical 80ers' keywords on his/her list and output it in a single line.

Sample Input

4Saint_SeiyaYoYo_ballSuper_MarioHuLuWa32 Saint_Seiya TiaoFangZi1 KTV3 HuLuWa YOYO_BALL YoYo_ball

Sample Output

102

 

 

字符串匹配什么的,没难度,也算是个水题吧;

#include <string.h>#include <stdio.h>#include <stdlib.h>char s[101][30];int main(){    int N;    scanf ("%d",&N);    int i;    for (i = 0;i < N;i++)    {        scanf ("%s",s[i]);    }    int N2;    scanf ("%d",&N2);    for (i = 0;i < N2;i++)    {        int n;        int ans = 0;        scanf ("%d",&n);        for (int k = 0;k < n;k++)        {            char tmp[30];            scanf ("%s",tmp);            for (int j = 0;j < N;j++)            {                if (!strcmp (tmp,s[j]))                {                    ans++;                    break;                }            }        }        printf ("%d\n",ans);    }    return 0;}


 

0 0
原创粉丝点击