UVA 11134 Fabled Rooks 優先隊列
題意:有一個NxN的棋盤,你需要在上面放N個車,它們互相之間不能攻擊到,並且每個車只能放在指定的矩形范圍裡面。
思路:首先車之間不能互相攻擊,那麼每行每列有且僅有一個車,我們把每個車用坐標(x,y)表示出來,那麼最後要求的其實就是任意兩個車的x坐標要不一樣,任意兩個車的y坐標不一樣。然後每個車的x和y有自己的范圍.....!!!x和y是相互獨立的,不會相互影響!!所以我們只需要先求出各自的橫坐標,然後再求出各自的縱坐標就行了,不是嗎?這時候,問題就變得相當簡單了。我們的題目變成了在一條X軸上,有n條線段,每條線段你必須取一個點,而且每個線段取的點要互不相同。這個我們不是做過嗎?直接用優先隊列貪心就行了。
#include
#include
#include
#include