658 It’s not a Bug, it’s a Feature!(优先队列Dijkstra)

UVA – 658 It’s not a Bug, it’s a Feature!(优先队列Dijkstra)

题目链接

题目大意:补丁和漏洞之间的修复问题。有n种漏洞,m种补丁,接着给你m行代表的是m种补丁使用的情况。前面的n个字符表示的是补丁的使用前提,后面的n个字符表示的是补丁使用完后的漏洞状况。字符‘0’代表的是这个漏洞存不存在都没关系,‘+’代表的是这个漏洞存在或者出现, ‘-’代表的是消失或者是不存在。使用每种补丁都需要时间,一开始这些漏洞都是存在的,,问最少花多少的时间能够把这些漏洞都消灭。

解题思路:因为有‘0’这样的情况,所以需要把不确定的情况暴力的转化为确定的情况,然后用2进制数来表示目前漏洞的状态,‘-’用1代表。’+‘用0代表。转化成0到2^n – 1的最短路问题。

代码:

只是需要垮上后座的勇气和一颗想走即走的心,

658 It’s not a Bug, it’s a Feature!(优先队列Dijkstra)

相关文章:

你感兴趣的文章:

标签云: