Advertisement
tuki2501

qbsquare.cpp

Nov 10th, 2021
1,211
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.66 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int N = 1005;
  5.  
  6. int a[N][N], dp[N][N];
  7.  
  8. int min(int a, int b, int c) {
  9.   return min(a, min(b, c));
  10. }
  11.  
  12. int main() {
  13.   cin.tie(0)->sync_with_stdio(0);
  14.   int n, m;
  15.   cin >> n >> m;
  16.   for (int i = 1; i <= n; i++)
  17.   for (int j = 1; j <= m; j++) {
  18.     cin >> a[i][j];
  19.   }
  20.   int ans = 0;
  21.   for (int i = 1; i <= n; i++)
  22.   for (int j = 1; j <= m; j++) {
  23.     if (a[i][j] == a[i - 1][j] && a[i][j] == a[i][j - 1] && a[i][j] == a[i - 1][j - 1]) {
  24.       dp[i][j] = min(dp[i - 1][j], dp[i][j - 1], dp[i - 1][j - 1]) + 1;
  25.     }
  26.     else dp[i][j] = 1;
  27.     ans = max(ans, dp[i][j]);
  28.   }
  29.   cout << ans << '\n';
  30. }
  31.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement