質問の4つのカテゴリにダイナミックプログラミングの問題は砲兵ラインナップ/バイナリ検索ツリー/収集喜び/ 01バックパック/グループリュック/搾乳(よりXianshuiする)(のみ独自の百度に状態遷移方程式、ACコードを分析する)②全分析を寄せ集め

砲兵ラインナップ

問題の説明

コマンド将軍は、NMのグリッドマップ上の自分の大砲を配備する予定。NM N行M列からなるマップ、各セルは(「H」で示す)山のマップであってもよい以下に示すように、(「P」で示す)無地であってもよいです。これは、アップ無地地形砲兵(山に大砲を配備しない)に各セルに配置することができ、黒面積以下に示すようなマップ上の範囲砲攻撃:

左右横枠に沿って2つずつ、2つのセル上下長手方向に:砲兵無地グレーマップの展開が識別した場合、図は、攻撃することができる領域に黒のグリッドを表します。この図は、他の白のグリッドを攻撃していませんでした。マップからの地形の範囲に対する砲撃の目に見える効果。
今、将軍は、マップ全体(保証任意の2つの砲兵ユニット間でお互いを攻撃していない、つまり、いずれかの砲兵部隊が攻撃他の砲兵支援の範囲内ではない)不慮の怪我を防止する前提の下で、大砲を展開する方法を計画していました軍の砲兵ユニットの最大数は、エリア内に配置することができます。

入力は
、最初の行は、それぞれ離れたスペースで区切られた2つの正の整数、NおよびMが含ま
次のN行、M連続した文字を構成する各列(「P」または「H」)、スペースを含まないが。各ラインのマップを表すデータを注文。N <= 100; M <= 10。
輸出

唯一のラインはK、それは大砲の配置までの数を表す整数を含んでいます。

サンプル

    • 入力
      5 4
      PHPP
      PPHH
      PPPP
      PHPP
      PHHP
    • 出力
      6

 

おすすめ

転載: www.cnblogs.com/likeghee/p/11750064.html