Toggle navigation
NKZX_NOI_OJ
常见问答
题库
来源/分类
状态
排名
竞赛&作业
Login
问题2143--炮兵阵地(POJ1185)
2143: 炮兵阵地(POJ1185)
时间限制:
1 Sec
内存限制:
128 MB
提交:
1
解决:
1
[
提交
] [
状态
] [
讨论版
] [命题人:
]
题目描述
将军打算在地图上部署炮兵部队。地图
由N 行M 列组成,地图的每一格都可能是山地(用H表示),也可能是
平原(用P表示)。在每一格平原上最多可以部署一支炮兵部队(在山
地上不可以部署炮兵部队)。一支炮兵部队在地图上的攻击范围如下
图中黑色区域所示。
如果在地图中的灰色所标识的平原上部署一支炮兵部队,则图中的黑色的网格表示它能够攻击到的区域:沿横向左右各两格,沿纵向上下各两格。图上其它白色网格均攻击不到。从图上可见炮兵的攻击范围不受地形的影响。
现在,将军们规划如何部署炮兵部队,在防止误伤的前提下(保证任何两支炮兵部队之间不能互相攻击,即任何一支炮兵部队都不在其他支炮兵部队的攻击范围内),在整个地图区域内最多能够摆放多少我军的炮兵部队。
输入
第一行包含两个由空格分隔开的正整数,分别表示N和M
(N ≤100,M ≤10)
;
接下来的N行,每一行含有连续的M个字符('P'或者'H'),中间没有空格。按顺序表示地图中每一行的数据。
输出
仅一行,包含一个整数K,表示最多能摆放的炮兵部队的数量。
样例输入
Copy
5 4 PHPP PPHH PPPP PHPP PHHP
样例输出
Copy
6
来源/分类
动态规划算法
状压DP