題意:
中文題意,略。
思路:一支炮兵部隊可以攻擊的範圍是兩格,所以當前行的狀態只和前兩行的狀態有關。
所以就列舉當前行,前一行和前兩行的狀態,如果用二進位制列舉,2^m的三次方,m最大為10,鐵定tle。
其實狀態並沒有想的那麼多,因為隔兩格才可以放乙個,所以其實真的有效的狀態不會超過100個。
100的三次方就可以接受。
另外,為了節省時間以及方便處理,那麼可以將輸入的狀態壓縮為2進製。
還有就是,答案最後再找吧。。。
**:
1 #include 2 #include3 #include 4 #include 5
using
namespace
std;
6const
int n = 200;7
int dp[105
][n][n];
8int num[1
<<12];9
char mp[105
][n];
10int mmp[105
];11 vectorg;
12int
n,m;
13int cal(int
x)14
21return
cnt;22}
23bool judge(int
x)24
29int
main()
3044}45
for (int i = 0;i <(1
<)
4650
int ans = 0;51
for (int i = 0;i < g.size();i++)
5256
for (int i = 0;i < g.size();i++)
5765}66
for (int i = 0;i < n - 2;i++)
6781}82
}83}84
for (int i = 0;i < g.size();i++)
8593
}94 printf("
%d\n
",ans);95}
96return0;
97 }
poj 1185 炮兵陣地
題目鏈結 題意 在n m的網格地圖上部署炮兵部隊。地圖的每一格可能是山地 用 h 表示 也可能是平原 用 p 表示 如下圖。在每一格平原地形上最多可以布置一支炮兵部隊 山地上不能夠部署炮兵部隊 一支炮兵部隊在地圖上的攻擊範圍如圖中黑色區域所示 如果在地圖中的灰色所標識的平原上部署一支炮兵部隊,則圖中...
POJ 1185 炮兵陣地
include include include include include include include include include include include include include include define sz v int v size define rep i,n ...
POJ 1185 炮兵陣地
狀態壓縮專題第一題,自己想了很久,最終還是以別人的 為模板寫的。dp共三維,一維是行數,一維是前一行狀態,一維是前第二行狀態。ps 直接開三維太大,用s陣列記錄下所有可能出現的情況,大大減少時間和空間。include include include includeusing namespace st...