「街机厅?」
「哎,有游戏打!」
「这会儿膝盖不疼了。」
「哎呀,劳逸结合嘛。不过,这么多房间,我们要一个个找过去吗?」
「我们还不清楚空的定义,恐怕真要如此了。」
「大概是不必这么费劲的。」
—— 鸠&Gino
在四通八达的管道迷宫中,连接着 m 间房间,由0到m-1编号。这些房间由单向管道连接着。另外,经过了一个房间后便永远不能再回到那个房间。
其中,第0号房间,也就是“79”中心地带的市民大厅,是管道迷宫的起点,通往所有房间。
每个房间要么继续有管道通往另外一些房间,要么没有任何管道通往其他房间,我们称它为死胡同。
街机厅是一种特殊的房间,它们建于市民大厅前往任何死胡同的必经之路上。
正所谓“劳逸结合”,也许他们玩着玩着遇到的最后一个街机厅是那不存在的空房间(鸠和Gino确信)?
下面是説人話版
給定編號為 0 到 m-1 號節點的信息,這些點組成一個有向無環圖。
除此之外,1 到 m-1 號節點全是从 0號節點 可达的
定義出度為 0 的節點 為終節點,終節點可以有一個以上,容易證明必定存在終節點
定義序列 S 為 所有 以 0號節點出發到任一終節點之間所以經過所有的節點編號(包括0號和該終節點編號)按抵達順序排列的序列 的 最长公共子序列
求序列 S 中的最後一項
输入有 2m + 1 行
第一行为一个整数:m
接下来有 2m 行
第 2i 行为两个整数:n, k —— 房间号码和它直接通往的房间数
第 2i+1 行为 k 个整数 —— 房间 n 可以直接通往的房间号码
输出共有一行
第一行应为一个整数,为鸠和Gino预想中不存在的空房间的号码
5 0 2 1 2 1 1 3 2 1 4 3 1 4 4 0
4
1 <= m <= 50000
0 <= n < m
0 <= k < m
note: 用 python 解题的同学,在 k=0 时, 不要使用 input().split(), 请直接进入下一组的读取
範例#1輸出圖:
ID | User | Problem | Subject | Hit | Post Date |
沒有發現任何「解題報告」 |