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;
}