d573

輸入說明 :

共計10個測資點。 每個測資點有不超過10組的多組測試資料, 對於每組測試資料: 第一行有正整數n(1<=n<=100000),代表全部分組的組數 接下來的n行會有按照順序排列的1~n組, 第一個數字是組的編號(1~n),第二個數字是本組的組員數p(0<=p<=100000), 接下來p個數字則是本組的所有騎士編號。 全部的騎士總數量x(1<=x<=100000),並且編號必定是1~x。 (也就是說如果全部有20位騎士,那麼他們的編號就是1,2,3,...,19,20,不會重複) 在測試資料的第n+1行(每組測資的最後一行)有一個數字y表示要查詢的騎士編號

輸出說明 :

請輸出欲查詢騎士編號的所屬組別編號。

很簡單的想法,開一個10000格的陣列,每一格index代表那一號的人,值代表第幾組

ex :team[1000]=5 ,代表1000號是第5組的

#include<stdio.h>
int main()
{
    int n;
    int team[100000];
    int num,linet; //每一行的組別和數量 
    int temp;
    int find;

    while(scanf("%d",&n)!=EOF)
    {    
        while(n--)
        {
            scanf("%d %d",&num,&linet);
            while(linet--)
            {
                scanf("%d",&temp);
                team[temp]=num;
            }
        }

        scanf("%d",&find);

        printf("%d\n",team[find]);
    } 
    return 0;
}