日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【线性规划与网络流24题】孤岛营救问题 分层图

發布時間:2025/3/18 编程问答 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【线性规划与网络流24题】孤岛营救问题 分层图 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

孤島營救問題

Time Limit:?1 Sec??Memory Limit:?128 MB

Description

1944年,特種兵麥克接到國防部的命令。要求馬上趕赴太平洋上的一個孤島,營救被敵軍俘虜的大兵瑞恩。瑞恩被關押在一個迷宮里,迷宮地形復雜,但幸好麥克得到了迷宮的地形圖。迷宮的外形是一個長方形,其南北方向被劃分為 N行,東西方向被劃分為 M列,于是整個迷宮被劃分為 N×M個單元。每個單元的位置可用一個有序數對 (單元的行號,單元的列號)來表示。南北或東西方向相鄰的 2個單元之間可能互通,也可能有一扇鎖著的門。或者是一堵不可逾越的墻。

迷宮中有一些單元存放著鑰匙,而且全部的門被分成 P類。打開同一類的門的鑰匙同樣,不同類門的鑰匙不同。

大兵瑞恩被關押在迷宮的東南角。即(N,M)單元里,并已經昏迷。

迷宮僅僅有一個入口,在西北角。

也就是說,麥克能夠直接進入(1,1)單元。

另外,麥克從一個單元移動到還有一個相鄰單元的時間為 1。拿取所在單元的鑰匙的時間以及用鑰匙開門的時間可忽略不計。?

試設計一個算法,幫助麥克以最快的方式到達瑞恩所在單元。營救大兵瑞恩。

?

Input

第 1行有 3個整數。分別表示 N,M,P的值。


第 2行是 1個整數 K,表示迷宮中門和墻的總數。
第 I+2行(1<=I<=K),有 5個整數。依次為 Xi1,Yi1,Xi2,Yi2,Gi:
當 Gi>=1時。表示(Xi1,Yi1)單元與(Xi2,Yi2)單元之間有一扇第 Gi類的門。
當 Gi=0時,表示(Xi1,Yi1)單元與(Xi2,Yi2)單元之間有一堵不可逾越的墻(當中,|Xi1-Xi2|+|Yi1-Yi2|=1, 0<=Gi<=P)。

第 K+3行是一個整數 S,表示迷宮中存放的鑰匙總數。
第 K+3+J行(1<=J<=S)。有 3個整數,依次為 Xi1,Yi1,Qi:表示第 J把鑰匙存放在(Xi1,Yi1)單元里,而且第 J把鑰匙是用來開啟第 Qi類門的。(當中 1<=Qi<=P)。


輸入數據中同一行各相鄰整數之間用一個空格分隔。?

?

Output

輸出麥克營救到大兵瑞恩的最短時間的值。假設問題無解,則輸出-1。

Sample Input

4 4 991 2 1 3 21 2 2 2 02 1 2 2 02 1 3 1 02 3 3 3 02 4 3 4 13 2 3 3 03 3 4 3 04 3 4 4 022 1 24 2 1

Sample Output

14

HINT

N,M,P <= 10

K < 150

Source

網絡流24題


? ? 題意不多說了。自己讀題就好了。然后要注意的是每一個點可能有多個鑰匙,兩個房間之間不可能須要連穿兩扇門。還有就是推斷兩個房間能不能通過的時候不必枚舉二進制下每位是0還是1,直接如果門須要的鑰匙為y,而當前代表鑰匙01串的數是x,那么能夠把門的鑰匙設為(1<<y),則if(x%((1<<y)*2)?>=(1<<y))就能夠了。試想,把前面的鑰匙去掉。然后剩下的鑰匙若能開,hash值一定>=門號,否則你懂得。不多說了,不懂?手模擬。。

? ? 建邊時候注意點,轉移時注意點。非常快就能水過。

不會分層圖的同學看這個:http://blog.csdn.net/vmurder/article/details/40075989

}









本文轉自mfrbuaa博客園博客,原文鏈接:http://www.cnblogs.com/mfrbuaa/p/5077989.html,如需轉載請自行聯系原作者


總結

以上是生活随笔為你收集整理的【线性规划与网络流24题】孤岛营救问题 分层图的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。