Guest User

Untitled

a guest
Jun 21st, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 0.93 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. char a[501][501];
  5. int dp[501][501];
  6.  
  7. int main(){
  8.   int n, i, j, best = 0, first = 0;
  9.   cin >> n;
  10.   if(n == 0){
  11.     cout <<"0"<<endl;
  12.     return 0;
  13.   }
  14.   for(i = 0; i < n; i++){
  15.     for(j = 0; j < n; j++){
  16.       cin >> a[i][j];
  17.         if(a[i][j]>= 65 && a[i][j]<=90) {
  18.         first  = 1;
  19.         dp[i][j] = 1;
  20.       }
  21.     }
  22.   }
  23.   for(i = 2; i < n; i++){
  24.     for(j = 1; j < n - 1; j++){
  25.       if(dp[i][j] == 0) continue;
  26.       else dp[i][j] = min(min( dp[i-1][j-1], dp[i-1][j+1]),min( dp[i-2][j], dp[i-1][j]) ) + 1;
  27.       best = max( best, dp[i][j] );
  28.     }
  29.   }
  30.  
  31.   best = 2 * best - 1;
  32.     int dva = best - 2;
  33.     dva = (dva + 1) / 2;
  34.     dva *= dva;
  35.     best = (best + 1) / 2;
  36.     best *= best;
  37.  
  38.   cout<<dva + best<<endl;
  39.   /*
  40.   for(i = 1; i < 2*best; i+=2){
  41.     sum += i;
  42.   }*/
  43.  
  44.   //cout << (sum * 2)-(2*best - 1) << endl;
  45.   //system("pause");
  46.   return 0;
  47. }
Add Comment
Please, Sign In to add comment