演算法訓練 暗戀
時間限制:1.0s 記憶體限制:256.0mb
問題描述
同在乙個高中,他卻不敢去找她,雖然在別人看來,那是再簡單不過的事。暗戀,是他唯一能做的事。他只能在每天課間操的時候,望望她的位置,看看她傾心的動作,就夠了。操場上的彩磚啊,你們的位置,就是他們能夠站立的地方,他倆的關係就像磚與磚之間一樣固定,無法動搖。還記得當初鋪磚的工人,將整個操場按正方形鋪磚(整個操場可視為r行c列的矩陣,矩陣的每個元素為一塊正方形磚塊),正方形磚塊有兩種,一種為藍色,另一種為紅色。我們定義他和她之間的「愛情指標」為最大純色正方形的面積,請你寫乙個程式求出「愛情指標」。
輸入格式
第一行兩個正整數r和c。
接下來r行c列描述整個操場,紅色磚塊用1來表示,藍色磚塊用0來表示。
輸出格式
乙個數,表示他和她之間的「愛情指標」。
樣例輸入
5 80 0 0 1 1 1 0 1
1 1 0 1 1 1 1 1
0 1 1 1 1 1 0 1
1 0 1 1 1 1 1 0
1 1 1 0 1 1 0 1
樣例輸出 9
資料規模和約定
40%的資料r,c<=10;
70%的資料r,c<=50;
100%的資料r,c<=200;
思路分析:題目說了很多...其實就是要讓你求矩陣中最大的全是0或1的正方形。
我第一次想到的方法是搜尋,用bfs搜尋一遍,找到最大的正方形。但寫了半天沒寫出來...還是不熟練啊...(bfs肯定是可以做的,下去我再寫乙個出來)
方法二和搜尋的思維量都差不多,但**實現起來就容易些了。
#include #define max 200 + 10
using namespace std;
int mgraph[max][max];
int n, m;
bool judge( int x, int y, int cur )
}return true;
}int main()
}int maxwidth = 0;
int curmax = 1;
for( int i = 0; i < n; i++ )
else break;}}
}printf( "%d\n", maxwidth * maxwidth );
return 0;
}
演算法訓練 暗戀
演算法訓練 暗戀 時間限制 1.0s 記憶體限制 256.0mb 錦囊1 錦囊2 錦囊3 問題描述 同在乙個高中,他卻不敢去找她,雖然在別人看來,那是再簡單不過的事。暗戀,是他唯一能做的事。他只能在每天課間操的時候,望望她的位置,看看她傾心的動作,就夠了。操場上的彩磚啊,你們的位置,就是他們能夠站立...
演算法訓練 暗戀
問題描述 同在乙個高中,他卻不敢去找她,雖然在別人看來,那是再簡單不過的事。暗戀,是他唯一能做的事。他只能在每天課間操的時候,望望她的位置,看看她傾心的動作,就夠了。操場上的彩磚啊,你們的位置,就是他們能夠站立的地方,他倆的關係就像磚與磚之間一樣固定,無法動搖。還記得當初鋪磚的工人,將整個操場按正方...
藍橋杯 ALGO 112 演算法訓練 暗戀
演算法訓練 暗戀 時間限制 1.0s 記憶體限制 256.0mb 問題描述 同在乙個高中,他卻不敢去找她,雖然在別人看來,那是再簡單不過的事。暗戀,是他唯一能做的事。他只能在每天課間操的時候,望望她的位置,看看她傾心的動作,就夠了。操場上的彩磚啊,你們的位置,就是他們能夠站立的地方,他倆的關係就像磚...