AT_abc446_b [ABC446B] Greedy Draft

题目描述

有 $N$ 个顾客,编号为 $1$ 到 $N$,以及 $M$ 种罐装果汁,编号为 $1$ 到 $M$。 第 $i$ 个顾客($1 \leq i \leq N$)有一个长度为 $L_i$ 的愿望清单。顾客 $i$ 的愿望清单中,第 $j$ 个($1 \leq j \leq L_i$)想要的果汁是编号为 $X_{i,j}$ 的罐装果汁。对于任意顾客 $i$,他们的愿望清单上的果汁编号 $X_{i,1}, \dots, X_{i,L_i}$ 两两不同。 接下来,顾客按照编号 $1, 2, \dots, N$ 的顺序依次选择饮品,选择规则如下: - 如果当前顾客的愿望清单中还有没有被别人选择过的罐装果汁,他们会选择清单上最靠前的那一项。 - 如果愿望清单上的饮品都已被他人选择过,则该顾客选择饮用水。 请你确定每位顾客最终得到的饮品。

输入格式

输入由标准输入给出,格式如下: > $N$ $M$ $L_1$ $X_{1,1}$ $X_{1,2}$ $\cdots$ $X_{1,L_1}$ $L_2$ $X_{2,1}$ $X_{2,2}$ $\cdots$ $X_{2,L_2}$ $\vdots$ $L_N$ $X_{N,1}$ $X_{N,2}$ $\cdots$ $X_{N,L_N}$

输出格式

输出共 $N$ 行。第 $i$ 行($1 \leq i \leq N$)输出第 $i$ 个顾客所得到的罐装果汁的编号,如果喝的是水,则输出 $0$。

说明/提示

### 样例解释 1 对于顾客 $1$ 的愿望清单,尚未被人挑选的果汁有 $3, 1, 2$。其中最靠前的是 $3$,所以顾客 $1$ 选择了编号 $3$ 的果汁。 对于顾客 $2$ 的愿望清单,尚未被人挑选的果汁有 $2, 1$。其中最靠前的是 $2$,所以顾客 $2$ 选择了编号 $2$ 的果汁。 对于顾客 $3$ 的愿望清单,清单上的果汁都已被别人挑选,所以顾客 $3$ 选择了水。 对于顾客 $4$ 的愿望清单,尚未被人挑选的果汁有 $5, 1$。其中最靠前的是 $5$,所以顾客 $4$ 选择了编号 $5$ 的果汁。 ### 数据范围 - $1 \leq N \leq 100$ - $1 \leq M \leq 100$ - $1 \leq L_i \leq M$ ($1 \leq i \leq N$) - $1 \leq X_{i,j} \leq M$ ($1 \leq i \leq N$,$1 \leq j \leq L_i$) - 对于每个顾客 $i$,$X_{i,1}, \dots, X_{i,L_i}$ 互不相同。 - 所有的输入数值均为整数。 由 ChatGPT 5 翻译