給出乙個n×nn \times nn×n的矩陣,矩陣中,有些格仔被染成白色,有些格仔被染成黑色,現要求矩陣中白色矩形的數量
輸入格式:
第一行,乙個整數nnn,表示矩形的大小。
接下來nnn行,每行nnn個字元,這些字元為「www」或「bbb」。其中「www」表示白格,「bbb」表示黑格。
輸出格式:
乙個正整數,為白色矩形數量
輸入樣例#1:複製
4輸出樣例#1:複製wwbw
bbwb
wbww
wbwb
15對於30%30\%30%的資料,n≤50n ≤ 50n≤50;
對於100%100\%100%的資料,n≤150n ≤ 150n≤150;
#include #include #include #include #include #include #include #include using namespace std;
#define max_n 150
int g[max_n + 5][max_n + 5] = ;
int f[max_n + 5][max_n + 5] = ;
int main()
}/** 1111
* 1101
* 1001
* 1100
*/ for (int i = 1; i <= n;i++)
}//(i, j), (k, l)
int ans = 0;
for (int i = 1; i <= n; i++) }}
}cout << ans << endl;
return 0;
}
#include using namespace std;
int g[200][200];
int main()
for(int i=1;i<=n;i++)
}int ans=0;
for (int i=1;i<=n;i++) }}
cout<
#include #include #include #include #include #include #include #include using namespace std;
#define max_n 1000
#define mod_num 100007
int f[max_n + 5][max_n + 5] = ;
int dp[max_n + 5][max_n + 5] = ;
int s[max_n + 5] = , top = -1;
int main()
f[i][m] = -1;
}for (int i = n - 2; i >= 0; i--)
}int ans = 0;
for (int i = 0; i < n; i++)
}cout << ans << endl;
return 0;
}
洛谷P1191 矩形
給出乙個n n的矩陣,矩陣中,有些格仔被染成白色,有些格仔被染成黑色,現要求矩陣中白色矩形的數量 輸入格式 第一行,乙個整數n,表示矩形的大小。接下來n行,每行n個字元,這些字元為 w 或 b 其中 w 表示白格,b 表示黑格。輸出格式 乙個正整數,為白色矩形數量 輸入樣例 1 4 wwbw bbw...
洛谷P1369 矩形
題目描述 給出平面上的n個點,請找出乙個邊與座標軸平行的矩形,使得它的邊界上有盡量多的點 輸入輸出格式 輸入格式 第一行乙個整數n,為平面內點的個數。第2 n 1行每行兩個整數,為點的橫 縱座標。輸出格式 只有乙個數,為所取矩形邊界上能包含盡量多的點的個數。輸入輸出樣例 輸入樣例 1 10 2 3 ...
洛谷P1034矩形覆蓋
據說是dp,所以我用dfs,居然a了,資料真水 說說思路,我們要求覆蓋所有點且不能重疊,顯然我們要從點入手,我們可以列舉每個點被哪個矩形重疊,因為如果列舉矩形覆蓋點的話,貌似不可做,具體怎麼實現呢?最好小夥伴們手動畫個圖,一下就明白了,列舉每個點被哪個矩形覆蓋,那麼必然是要根據點的座標來調整矩形的位...