luogu#P11352. [NOISG2024 Finals] Coin

[NOISG2024 Finals] Coin

题目描述

Benson 有 nn 枚不同重量的硬币和一个天平。每次将硬币 xxyy 放在天平上,可以知道它们的相对重量,即 xx 是否比 yy 更重。

硬币 xx 的排名(rank)定义为不比它更重的硬币数量(包括自身)。例如,最轻的硬币的排名是 11,次轻的是 22,最重的是 nn

对于每个硬币,当且仅当基于已有的称量结果可以唯一确定其排名时,称其排名被“确定”(determined)。

你的任务是帮助 Benson 找出每个硬币首次确定排名的称量序号,或者判断它的排名永远无法确定。

输入格式

  • 第一行包含两个用空格分隔的整数 nnmm,表示硬币的数量和称量的次数。
  • 接下来的 mm 行,每行包含两个整数 xxyy,表示硬币 xx 比硬币 yy 轻。

输出格式

输出 nn 个整数。如果硬币 ii 的排名在所有 mm 次称量后仍未确定,输出 1-1。否则,输出首次确定排名的称量序号 kk1km1 \leq k \leq m)。

4 4
2 4
3 1
4 1
2 3
3 4 -1 -1
6 8
1 5
5 4
6 2
2 5
4 3
6 1
6 5
2 1
8 8 5 5 5 6

提示

【样例解释】

对于样例 #1:

  • 硬币 11 的排名在第 33 次称量后确定,输出 33
  • 硬币 22 的排名在第 44 次称量后确定,输出 44
  • 硬币 3344 的排名无法确定,输出 1-1

对于样例 #2:

  • 每个硬币的排名确定的时间点分别是 888855555566

【数据范围】

  • 2n200,0002 \leq n \leq 200,000
  • 1m800,0001 \leq m \leq 800,000
  • 1x,yn1 \leq x, y \leq n
  • 硬币之间的所有称量关系形成一个有效的偏序。
子任务编号 分值 限制条件
00 样例测试用例
11 66 1n7,1m201 \leq n \leq 7, 1 \leq m \leq 20
22 1616 1n100,1m4001 \leq n \leq 100, 1 \leq m \leq 400
33 1010 1n1000,1m40001 \leq n \leq 1000, 1 \leq m \leq 4000
44 6868 无额外限制