Advertisement
dmkozyrev

b.cpp

Apr 25th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.68 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. int main() {
  6.     int size, len;
  7.     scanf("%d %d", &size, &len);
  8.    
  9.     std::vector<std::vector<bool>> not_empty(size, std::vector<bool>(size, false));
  10.     for (int i = 0; i < size; ++i) {
  11.         char buf[101]; scanf("%100s", buf);
  12.         for (int j = 0; j < size; ++j) {
  13.             char c = buf[j];
  14.             not_empty[i][j] = (c == '.');
  15.         }
  16.     }
  17.    
  18.     std::vector<std::vector<int>> count(size, std::vector<int>(size, 0));
  19.     for (int i = 0; i < size; ++i) {
  20.         for (int j = 0; j < size; ++j) {
  21.             // идем вправо
  22.             int count_right = 0;
  23.             for (int dj = 0; dj < len && j + dj < size; ++dj) {
  24.                 count_right += not_empty[i][j+dj];
  25.             }
  26.             if (count_right == len) {
  27.                 for (int dj = 0; dj < len && j + dj < size; ++dj) {
  28.                     ++count[i][j+dj];
  29.                 }    
  30.             }
  31.             // идем вниз
  32.             int count_down = 0;
  33.             for (int di = 0; di < len && i + di < size; ++di) {
  34.                 count_down += not_empty[i+di][j];
  35.             }
  36.             if (count_down == len) {
  37.                 for (int di = 0; di < len && i + di < size; ++di) {
  38.                     ++count[i+di][j];
  39.                 }
  40.             }
  41.         }
  42.     }
  43.    
  44.     int max_i = 0, max_j = 0;
  45.     for (int i = 0; i < size; ++i) {
  46.         for (int j = 0; j < size; ++j) {
  47.             if (count[i][j] > count[max_i][max_j]) {
  48.                 max_i = i;
  49.                 max_j = j;
  50.             }
  51.         }
  52.     }
  53.     ++max_i;
  54.     ++max_j;
  55.     printf("%d %d\n", max_i, max_j);
  56.    
  57.     return 0;
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement