各位上過大學的應該都知道,大學會有通識課程,而通識課程通常是用抽籤決定是否錄取的。
但是學校的抽籤系統被弄壞了,因此你身為學校的工讀生,要幫助學校寫出一份抽籤的系統,
需要根據每一門通識課程的人數上限以及學生的志願序,來為每一名學生抽籤看錄取哪一門通識課。
學校的通識課抽籤方式如下:
假設 $A,B,C$ 三門課的名額上限分別為 $1,2,1$,且三位學生 $a,b,c$ 的志願序如下:
$a:A,B$
$b:C,A,B$
$c:C,A$
則不可以將抽籤結果分配為 ${a:B,b:A,c:C}$,因為 $a$ 將課程 $A$ 排第一位,$b$ 將課程 $A$ 排第二位,
卻是 $b$ 錄取課程 $A$,不符合志願序較前面的人優先錄取的原則。
一組合法的抽籤結果為 ${a:A,b:B,c:C}$。
第一行輸入兩個整數 $N,M$,分別代表課程的數量以及學生的數量。
第二行輸入 $N$ 個整數,第 $i$ 個數字 $c_i$ 代表課程代碼為 $i$ 的課程之人數上限。
接下來 $M$ 行,每行第一個數字 $K$ 代表該學生填的志願數量,後面有 $K$ 個數字,第 $i$ 個數字 $v_i$ 代表該學生第 $i$ 志願的課程代碼。
輸出一行 $M$ 個數字,第 $i$ 個數字代表第 $i$ 位學生錄取的課程之代碼,每個數字間以一個空格隔開,若學生沒有錄取任何課程則輸出 -1。
只要輸出任意一組合法的抽籤結果都會被判為正確。
此抽籤方式僅為虛構,如有雷同,純屬巧合。
No. | Testdata Range | Constraints | Score |
---|---|---|---|
1 | 0~12 | $N,M\leq8$ | 45 |
2 | 0~28 | 無特別限制 | 55 |
No. | Time Limit (ms) | Memory Limit (KiB) | Output Limit (KiB) | Subtasks |
---|---|---|---|---|
0 | 1000 | 65536 | 65536 | |
1 | 1000 | 65536 | 65536 | |
2 | 1000 | 65536 | 65536 | |
3 | 1000 | 65536 | 65536 | |
4 | 1000 | 65536 | 65536 | |
5 | 1000 | 65536 | 65536 | |
6 | 1000 | 65536 | 65536 | |
7 | 1000 | 65536 | 65536 | |
8 | 1000 | 65536 | 65536 | |
9 | 1000 | 65536 | 65536 | |
10 | 1000 | 65536 | 65536 | |
11 | 1000 | 65536 | 65536 | |
12 | 1000 | 65536 | 65536 | |
13 | 1000 | 65536 | 65536 | |
14 | 1000 | 65536 | 65536 | |
15 | 1000 | 65536 | 65536 | |
16 | 1000 | 65536 | 65536 | |
17 | 1000 | 65536 | 65536 | |
18 | 1000 | 65536 | 65536 | |
19 | 1000 | 65536 | 65536 | |
20 | 1000 | 65536 | 65536 | |
21 | 1000 | 65536 | 65536 | |
22 | 1000 | 65536 | 65536 | |
23 | 1000 | 65536 | 65536 | |
24 | 1000 | 65536 | 65536 | |
25 | 1000 | 65536 | 65536 | |
26 | 1000 | 65536 | 65536 | |
27 | 1000 | 65536 | 65536 | |
28 | 1000 | 65536 | 65536 |