mstoyanov7

2x2 squares

Jun 15th, 2021
92
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. #include <vector>
  3.  
  4. std::vector<std::vector<char>> readMatrix(int& rows, int& cols) {
  5.     std::cin >> rows >> cols;
  6.     std::vector<std::vector<char>> matrix;
  7.     for (int i = 0; i < rows; ++i) {
  8.         std::vector<char> row;
  9.         for (int j = 0; j < cols; ++j) {
  10.             char c; std::cin >> c;
  11.             row.push_back(c);
  12.         }
  13.         matrix.push_back(row);
  14.     }
  15.     return matrix;
  16. }
  17.  
  18. void findSquares(std::vector<std::vector<char>>& matrix) {
  19.     int squaresCounter = 0;
  20.  
  21.     for (int i = 0; i < matrix.size(); ++i) {
  22.         for (int j = 0; j < matrix[i].size(); ++j) {
  23.             if (i + 1 < matrix.size() && j + 1 < matrix[i].size()) {
  24.                 if (matrix[i][j] == matrix[i][j + 1] && matrix[i + 1][j] == matrix[i + 1][j + 1] && matrix[i][j] == matrix[i + 1][j]) {
  25.                     squaresCounter++;
  26.                 }
  27.             }
  28.         }
  29.     }
  30.     std::cout << squaresCounter;
  31. }
  32.  
  33. int main() {
  34.     int rows, cols;
  35.     std::vector<std::vector<char>> matrix = readMatrix(rows, cols);
  36.     findSquares(matrix);
  37. }
Advertisement
Add Comment
Please, Sign In to add comment