Moore 定律指出,晶片上的電晶體數量每兩年會增加一倍。令人驚訝的是,這個定律已經持續成立超過半個世紀。每當當前技術無法再容許數量成長,研究人員就會提出新的製造技術,將電路配置得更加密集。在不久的將來,這可能表示晶片將以三維而非二維結構製造。不過,對這道題目而言,二維就足夠了。
所有二維硬體設計(例如晶片、顯示卡、主機板等等)都有一個共同問題:導線配置。在硬體上佈線時,若導線必須互相交叉,就會造成問題。發生交叉時,必須使用特殊裝置,讓兩條電線能夠上下跨越彼此,這會增加製造成本。
我們的問題如下:給定一份硬體設計,其中已有若干導線(全部都是直線段)。另外給定一條待新增連線的起點與終點。你必須求出,為了連接起點與終點,最少需要穿越多少條現有導線。這條連線不必是直線。唯一的要求是,不能在兩條或更多現有導線相接或相交的位置穿越。
圖 L.1:第一組範例輸入。
圖 L.1 顯示第一組範例輸入。八條現有導線形成五個正方形。新連線的起點與終點分別位於最左側與最右側的正方形內。黑色虛線表示,直接連接會穿越四條導線,而最佳解只穿越兩條導線(藍色曲線)。
輸入格式
輸入包含一組測試資料。第一行有五個整數 $m,x_0,y_0,x_1,y_1$,分別表示現有導線數量($m \le 100$)以及需要連接的起點與終點。接下來有 $m$ 行,每行有四個整數 $x_a,y_a,x_b,y_b$,描述一條從 $(x_a,y_a)$ 到 $(x_b,y_b)$ 的非零長度現有導線。每個輸入座標的絕對值均小於 $10^5$。任意兩條導線至多有一個公共點,也就是導線不會重疊。新導線的起點與終點均不在現有導線上。
輸出格式
輸出連接起點與終點所需穿越的最少導線數量。
範例
輸入格式 1
8 3 3 19 3 0 1 22 1 0 5 22 5 1 0 1 6 5 0 5 6 9 0 9 6 13 0 13 6 17 0 17 6 21 0 21 6
輸出格式 1
2
輸入格式 2
1 0 5 10 5 0 0 10 10
輸出格式 2
0