挖地雷dp c++
2021-02-05 18:17
标签:c++ 设计 输入 数组 路径 mes end 城市 out 挖地雷dp c++ 标签:c++ 设计 输入 数组 路径 mes end 城市 out 原文地址:https://www.cnblogs.com/zhmlzhml/p/12785786.html 1 //
2 // Created by Arc on 2020/4/27.
3 //
4
5 /*题文:
6 * 在一个地图上有n个地窖
7 * ,每个地窖中没有一定数量的地雷,
8 * 同时给出地窖之间连接的路径,
9 * 并规定路径都是单向的。
10 * 且保证都是小序号地窖指向大序号地窖,
11 * 也不存在可以从一个地窖出发,经过若干后又回到原来地窖的路径
12 * 某人可以从任意一处开始挖地雷,然后沿着指出的路径往下挖,只能选择一条路径,当没有连接时,挖地雷工作结束设计,一个挖地雷的方案使他能挖到最多的地雷
13 * 输入:
14 * 第一行为坑总数
15 * 第二行为每个坑的地雷数
16 * 接下来的几行是都有哪两个坑可以连接,
17 * 输入0 0 表示结束
18 * 输出:
19 * 最大地雷数以及路径
20 * (一看见这种路径,是不是直接想到一个数组存放地址啊)
21
22 */
23 //思路:
24 //我们知道dp有个无后效性原则
25 //你看看上面题目:
26 //规定路径都是单向的。
27 //* 且保证都是小序号地窖指向大序号地窖,
28 //* 也不存在可以从一个地窖出发,经过若干后又回到原来地窖的路径
29 //--很明显了啊
30 //
31 //
32 /*存放变量:
33 * 和前面的dp几乎一样,也是从倒数第二个逆推
34 * w[i]是指每个坑有几个地雷
35 * a[i][j]是指i,j之间是否有通路//和城市交通线不同,这个地方不是没有通路就为0,所以输入方式也不太一样
36 * f[i]表示i往后的最多能挖到多少
37 * c[i]是个存放位置的.
38 */
39 #include