QOJ.ac

QOJ

حد الوقت: 3 s حد الذاكرة: 1024 MB مجموع النقاط: 100

#3930. 嫉妒的年轻人

الإحصائيات

幼儿园的玩耍时间又变得混乱了,汤姆老师遇到了一些困难。孩子们经常因为谁该玩哪个玩具而产生分歧。每当孩子觉得玩具分配不公时,他们就会开始大哭。孩子们显然不擅长做决定,所以今天汤姆有一个新计划:与其让孩子们自己选择玩具,不如他以一种能防止任何孩子哭泣的方式为他们分配玩具。

汤姆一直在研究孩子们的行为,现在他完全理解了他们在什么情况下会哭。首先,如果一个孩子没有玩具玩,他会哭。其次,即使有玩具,如果存在另一个孩子 $B$ 正在玩某个玩具 $T$,而孩子 $A$ 因为 $B$ 在玩 $T$ 而嫉妒他,且 $A$ 更愿意玩 $T$ 而不是他当前拥有的玩具,那么孩子 $A$ 也会哭。此外,汤姆观察到了孩子们的以下四种行为特征:

(a) 嫉妒:孩子们会嫉妒那些在任何给定玩具上玩得比他们久的人。如果孩子 $A$ 昨天玩玩具 $T$ 的时间严格多于孩子 $B$,那么今天 $B$ 就会因为 $A$ 玩 $T$ 而嫉妒他。

(b) 固执:孩子更愿意玩他昨天玩过的玩具,并且他昨天第一次玩该玩具的时间越早,他今天就越想玩它。对于孩子昨天完全没玩过的所有玩具,孩子对它们的渴望程度(或不渴望程度)是相同的。

(c) 不能一心多用:孩子在同一时间从不玩超过一个玩具。

(d) 不合作:孩子们不擅长分享,两个孩子从不在同一时间玩同一个玩具。

汤姆记录了昨天哪些孩子玩了哪些玩具,并记下了每个孩子开始玩玩具的时间。利用这些信息,汤姆的目标是为今天的所有玩具制定一个固定的分配方案,如果可能的话,防止任何孩子哭泣。

输入格式

输入的第一行包含两个整数 $n$ 和 $m$ ($1 \le n, m \le 1000$),分别表示孩子的数量和玩具的数量。孩子编号为 $1$ 到 $n$,玩具编号为 $1$ 到 $m$。接下来一行包含两个整数 $d$ 和 $e$ ($1 \le d \le 10^9$ 且 $0 \le e \le 10^6$),分别表示昨天玩耍的总时长(以微秒为单位)和汤姆记录的事件数量。

接下来 $e$ 行给出了汤姆昨天记录的事件。每个事件由一行包含三个整数 $s, k, t$ ($0 \le s < d, 1 \le k \le n, 0 \le t \le m$) 描述,表示孩子 $k$ 在时间 $s$(自昨天玩耍开始以来的微秒数)开始玩玩具 $t$。如果 $t = 0$,则表示孩子 $k$ 在时间 $s$ 停止玩任何玩具。

事件按时间非递减顺序给出(即 $s$ 的值是非递减的)。所有孩子在玩耍结束前的所有玩具变更都已被汤姆记录(特别是如果一个孩子 $k_1$ 从另一个孩子 $k_2$ 那里抢走了一个玩具,也会有一个事件表明 $k_2$ 在同一微秒内更换了玩具,即使 $k_2$ 停止玩任何玩具)。在玩耍开始时,没有孩子在玩任何玩具(但他们可以在时间 $0$ 开始玩玩具)。在时间 $d$,所有仍在玩玩具的孩子都停止了玩耍,但汤姆没有记录这些事件。孩子们每微秒更换玩具的次数不超过一次。

输出格式

如果存在一种玩具分配方案使得今天没有任何孩子哭泣,则输出 $n$ 个不同的整数,其中第 $i$ 个整数是孩子 $i$ 应该玩的玩具。如果存在多种可能的解决方案,输出其中任意一个即可。否则,如果不存在这样的分配方案,输出 “impossible”。

样例

样例输入 1

2 3
6 7
0 1 1
0 2 2
1 1 3
2 1 2
2 2 1
3 2 3
4 2 1

样例输出 1

1 2

样例输入 2

2 1
20 3
0 1 1
10 1 0
10 2 1

样例输出 2

impossible

样例输入 3

1 3
3 3
0 1 1
1 1 2
2 1 3

样例输出 3

2

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.