pascal难题请教

来源:百度知道 编辑:UC知道 时间:2024/06/13 23:54:10
一定要用哈希表!!
题目如下:
某公司新开发了一个软件,有不超过20个bug,开发人员为此编写了补丁和自动执行补丁的程序。现要求计算修改补丁的时间。
输入格式:
6个字符每行,第一个是数字,表示执行第a(i)号补丁需要的时间;第2到第6个是字符,如果是+表示执行a(i)号补丁后第b(j)号补丁被修改好了;如果是0,表示第a(i)处没有bug;如果是-,表示执行第b(j)号补丁后有多出一个bug。
例:
3 + 0 0 - +
5 + - 0 0 +
2 0 + - - +
用Pascal写计算执行总时间的程序,用哈希表,提供算法即可。(不要说我笨,我自学的pascal,上初中2年级)
感谢!!

LZ可直接搜索"补丁VS错误题解"

这一题用哈希表? 不是吧!

我是高一的学生,我做过这一题(我当初数据的范围好像比你的要大)。。。。

但是我当初没有用哈希表做。。

这一题应该是 最短路的问题
把每一种 bug 的有无 记作一种状态 则共有2^6种(点)
针对每一种 可以找到 可用的补丁 转成另一种状态 (边)
时间就是 权。。。。
就可以做了。。。

当时,我的老师说 网络流 也可以做。。

时间的话用CENA
没有CENA就用dos库里面那个gettime(a,b,c,d)函数..
开始和结束各运算一次,写一次