洛谷P1191 矩形

2021-09-02 19:56:22 字數 1027 閱讀 4382

給出乙個n×n的矩陣,矩陣中,有些格仔被染成白色,有些格仔被染成黑色,現要求矩陣中白色矩形的數量

輸入格式:

第一行,乙個整數n,表示矩形的大小。

接下來n行,每行n個字元,這些字元為「w」或「b」。其中「w」表示白格,「b」表示黑格。

輸出格式:

乙個正整數,為白色矩形數量

輸入樣例#1:

4

wwbw

bbwb

wbww

wbwb

輸出樣例#1:

15
因為前面在usaco裡面做過好幾道關於在平面內找矩陣的問題了

所以當我看到這一道題的時候就馬上想到了,兩條邊確定矩陣的方法

首先就是列舉兩列,然後搞兩個指標,p2用for迴圈開路,p1跟在後面,然後維護一下指標,時間複雜度o(n^3)

**

#include #include #include #include using namespace std;

const int n = 210 ;

int n ;

char st[n] ;

int sum[n][n] ; //sum[i]表示第i行的字首和

inline int solve ( int h , int x , int y )

inline void next ( int &p1 ,int x , int y )

int main()

int ans = 0 ;

for ( int l = 1 ; l <= n ; l ++ ) // 列舉兩列

for ( int r = l ; r <= n ; r ++ )

if ( solve ( p2 , l , r ) == 0 )

}} cout << ans << endl ; //最後輸出

return 0 ;

}

洛谷P1191 矩形

給出乙個n nn times nn n的矩陣,矩陣中,有些格仔被染成白色,有些格仔被染成黑色,現要求矩陣中白色矩形的數量 輸入格式 第一行,乙個整數nnn,表示矩形的大小。接下來nnn行,每行nnn個字元,這些字元為 www 或 bbb 其中 www 表示白格,bbb 表示黑格。輸出格式 乙個正整數...

洛谷P1369 矩形

題目描述 給出平面上的n個點,請找出乙個邊與座標軸平行的矩形,使得它的邊界上有盡量多的點 輸入輸出格式 輸入格式 第一行乙個整數n,為平面內點的個數。第2 n 1行每行兩個整數,為點的橫 縱座標。輸出格式 只有乙個數,為所取矩形邊界上能包含盡量多的點的個數。輸入輸出樣例 輸入樣例 1 10 2 3 ...

洛谷P1034矩形覆蓋

據說是dp,所以我用dfs,居然a了,資料真水 說說思路,我們要求覆蓋所有點且不能重疊,顯然我們要從點入手,我們可以列舉每個點被哪個矩形重疊,因為如果列舉矩形覆蓋點的話,貌似不可做,具體怎麼實現呢?最好小夥伴們手動畫個圖,一下就明白了,列舉每個點被哪個矩形覆蓋,那麼必然是要根據點的座標來調整矩形的位...