総旅客ニンニク - 最高の草

トピック住所:

https://nanti.jisuanke.com/t/T1141

牛ベッシー計画とソフトの新しい春の草を楽しみます。牧草のR行とC列の草の新しいディストリビューション。これは、牧草の数を計算したいと考えています。
牧草マップでは、各草又は単一の「#」、または隣接する2つの「#」の共通のエッジがあります。牧場のマップを考えると、どのように多くの茂みを計算します。
例えば、6つのマップ牧場の次の5つの行を考えます

 

ランチ有する5つの最初の行の一つ、二つのスパン、三行、3行目の1、2列目の4行目では4又は5のスパン、5行目の最後のいずれかのGe草。

入力形式

最初の行は、単一のスペースで区切られた2つの整数のRとCを含有します。
牧場マップを記述するCの文字の次のRライン、。文字だけ「#」または「」二種類。

出力フォーマット

出力草の数を表す整数。

 

 

 

コード:

する#include <stdio.hの>
 INT [ 100 ] [ 100 ]。
INT のmain(){
     int型X、Y。
    scanf関数(" %dの%のD "、およびX&Y); GETCHAR()。
    int型 I = 0 ; I <X; iが++ ){
         ためINT J = 0 ; J <yであり、j ++ ){
             チャー P = GETCHAR()。
            もし(P == ' ' 
                [i] [j]が = 0 ;
            
                [I] [J] = 1 
        } 
        GETCHAR()。
    } 
    int型の和= 0 int型 JQ = 0 ;
    以下のためにint型 i = 0 ; I <X; I ++ ){
         ためのint型 J = 0 ; J <yであり、j ++ ){
             場合([I] [J] == 1 ){ 
                合計 ++ もし([I]、[J + 1 ] == 1 || [I + 1 ] [j] == 1){ 
                    JQ ++ 
                } 
            } 
        } 
    } 
    のprintf(" %dの"、和- JQ)。
    リターン 0 ; 
}

 

アイテムの難易度は、少しの平均を感じての考え方に大きなされないが、最初の文字は、ハードカウント再帰はとても直接、多くの問題だろう直接の後、01の行列、便利な操作の配列に変換されます。

合計# - #権及び隣接草#番号=番号のそれぞれ下記

 

おすすめ

転載: www.cnblogs.com/expedition/p/11777580.html