小易塗棋盤 C 實現

2021-10-05 03:01:04 字數 1085 閱讀 5521

問題描述:小易有一塊n*n的棋盤,棋盤的每乙個格仔都為黑色或者白色,小易現在要用他喜歡的紅色去塗畫棋盤。小易會找出棋盤中某一列中擁有相同顏色的最大的區域去塗畫,幫助小易算算他會塗畫多少個棋格。

輸入描述:

輸入資料報括n+1行:第一行為乙個整數n(1 ≤ n ≤ 50),即棋盤的大小,接下來的n行每行乙個字串表示第i行棋盤的顏色,』w』表示白色,』b』表示黑色

輸出描述:

輸出小易會塗畫的區域大小

輸入例子:

3bww

bbbbwb

輸出例子:

3演算法思路,用到了蠻力法,直接遍歷二維陣列,這道題的例子中有乙個坑,我們試想一下 當一列呈現 bwbb的時候,輸出例子應該為什麼,是2而不是3(題目中有提到相同顏色的最大區域)所以需要兩個中間變數來記錄是否顏色斷開,話不多說直接上** 時間複雜度o(n)

#include

using

namespace std;

//小易塗棋盤

intmain()

}int numb =0;

//記錄連續黑色的數量

int numw =0;

//記錄連續白色的數量

for(

int j =

0; j < n;

++j)

tempw =0;

//已經斷開 重置為0}if

(array[i]

[j]==

'w')

tempb =0;

}}} cout <<

max(numb, numw)

;//輸出最大值

return0;

}

#include

using

namespace std;

#define max 100

intmain()

}for

(int j =

0; j < n; j++)}

if(count1 > count)

} cout << count;

return0;

}

9 塗棋盤 2017網易春招

程式設計題 塗棋盤 時間限制 1秒 空間限制 32768k 小易有一塊n n的棋盤,棋盤的每乙個格仔都為黑色或者白色,小易現在要用他喜歡的紅色去塗畫棋盤。小易會找出棋盤中某一列中擁有相同顏色的最大的區域去塗畫,幫助小易算算他會塗畫多少個棋格。輸入描述 輸入資料報括n 1行 第一行為乙個整數n 1 n...

棋盤類實現檔案C

chessboard.cpp include stdafx.h include chessboard.h private int chessboard m weightvalue void int chessboard m absolutevalue const int value int ches...

分治策略之棋盤覆蓋的C 實現

當k 0時,將 全域性整型變數,用來表示l型骨牌的編號 const int board size 4 int tile 1 int board 4 4 void chessboard int tr,int tc,int dr,int dc,int size if size 1 return 每呼叫一...