傳說中,蚯蚓是個很喜歡在地下挖掘坑道的生物,而在地下挖洞有個優點,就是會找到一些神奇的寶物。
身為曾經征戰四方的勇者,你從附近的村民手中探查到一些情報,也買到一份手繪地圖。進到了由蚯蚓們挖掘出來的地下城後,輕鬆地殲滅那些因為黑暗而衍生出來的怪物。最後你走到一個黑暗大廳,經過一番搜索後找到了機關,按下了機關後,眼見之處盡是閃亮亮的寶藏。可惜你只有一雙手,無法全部搬走。
你知道如果想要寶藏,就得儘快搬走這些寶藏,因為蚯蚓們有個領導者 — 老蚯。老蚯是個上古生物,甚至比龍還要古老,你絕不想和他打上一架。更何況普通的蚯蚓大軍幾乎就可以用蚯海戰術把你淹掉。可是你又不忍心放棄這些寶藏。於是在搜索地下城後,你回到村莊中找到了負責運送貨物的螞蟻軍團。
問題來了,大部分的工蟻的頭腦十分簡單,無法認清地下城的路。這個地下城是由許多通道和交叉路口所構成,而通道的出口位置都很奇怪,都會在交叉路口的天花板上,爬上去非常困難,所以每條通道都是單向的單行道。
假設有 N 個交叉路口,路口會依照深度,由淺到深,編號從 1 到 N 。顯然編號為 1 的路口是入口,而編號為 N 的路口是藏寶處。工蟻在交叉路口上,會選擇另一個離地面更近的交叉路口走過去。換句話說,工蟻會從連出去的通道中,每次選擇目的地路口編號最小的通道走過去。然而工蟻們的行為模式很有可能會永遠找不到寶藏。
所以,現在你想要堵住一些通道,使得工蟻可以輕鬆按照他們的行走規則,從入口走到最深處的藏寶處。你又希望能夠在蚯蚓們還沒發現之前就儘快把寶物給搬走,但是堵住一條通道會需要花很多時間,所以你希望堵住最少條通道。在紙上規劃實在太慢了,於是你想要直接寫個程式規劃一下。
輸入檔的第一行有一個正整數 T (T ≤ 200),表示接下來總共有幾筆測試資料。每一筆測試資料的第一行有兩個整數 N,M,中間以一個空白隔開,分別表示交叉路口數量,以及通道數量。(1 ≤ N ≤ 50,0 ≤ M ≤ N2 − N)
接下來會有 M 行,第 i 行有兩個正整數 ai,bi,中間以一個空白隔開,表示這條通道連接編號為 ai,bi 的兩個路口,且只能從 ai 走到 bi。(ai,bi ≤ 50)
保證不會有兩條通道連接同樣的起點和終點,並且不會有通道自己通到自己。
對每筆測試資料輸出一行,每行包含一個整數,代表最少要堵住幾條通道。如果不幸地,無論如何都無法走到藏寶處,則輸出 “-1” (不含引號)。
3 3 4 2 3 1 2 2 1 3 1 3 2 1 2 2 3 3 2 1 2 3 2
1 0 −1
編號 | 身分 | 題目 | 主題 | 人氣 | 發表日期 |
沒有發現任何「解題報告」 |