問題描述:小易有一塊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 每呼叫一...