营救家人
(save.cpp)
北境统领史塔克家族的部分家人被兰斯特家族软禁。
为了营救家人,北境之王罗柏史塔克准备率领众多北境领主攻伐兰尼斯特家族 。
北境共有n个领土,每个领主都住在自己的城堡里面,
每个城堡都屯有—定数量的士兵.
由于地形、经济条件等原因,
只有部分城堡之间有道路连接。罗柏.史塔克想汇总领主的兵力.他可以选择从任一城堡
出发 ,并沿着道路向后面的城堡进发(从第i号城堡只能向第i+1到 第n号 城 堡 进 发),
当没有后续城堡时,完成兵力的集中。请你设计一个汇总兵力的方案,使得罗柏•史塔
克能集中更多的兵力。
输入:
有n+1行,第1行只有一个数字,表示城堡的个数n。第2行有n个数,分别表示每个城
堡中的士兵个数。第3行至第n+1行表示城堡之间的道路连接情况,0表示没有道路,1
表 示 有 道 路 •.如 第 3 行 有 n-1 个 数 , 表 示 第 1 个 城 堡 至 第2个 、 第3个 、 … 、 第n个 城
堡是否有道路连接。后面以此类推。
输出:
有两行数据。第一行表示最优方案中访问城堡序号的排列,各序号间以一个空格分隔,
没有多余的空格,第二行只有—个数,表示能集中到的最多的士兵数量。
样例输入:
3
100 150 200
1 1
0
样例输出:
1 3
300
请问有人解决一下么 C++