Advertisement
Spocoman

03. Glitches

Feb 6th, 2024
958
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.40 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. #include <vector>
  4. #include <map>
  5. #include <set>
  6. #include <algorithm>
  7.  
  8. using namespace std;
  9.  
  10. int main() {
  11.     int matrixSize;
  12.     cin >> matrixSize;
  13.     cin.ignore();
  14.  
  15.     set<char> fixed;
  16.  
  17.     map<char, vector<int>> bugs;
  18.  
  19.     vector<vector<char>> matrix(matrixSize, vector<char>(matrixSize, '.'));
  20.  
  21.     string line;
  22.  
  23.     char bug;
  24.  
  25.     for (int r = 0; r < matrixSize; r++) {
  26.         getline(cin, line);
  27.         for (int c = 0; c < matrixSize; c++) {
  28.             bug = line[c];
  29.             if (bug != '.') {
  30.                 if (fixed.find(bug) == fixed.end()) {
  31.                     if (bugs.find(bug) == bugs.end()) {
  32.                         bugs[bug] = { 1, c };
  33.                     }
  34.                     else {
  35.                         int counter = count(line.begin(), line.end(), bug);
  36.                         if (bugs[bug][0] <= counter) {
  37.                             bugs[bug][0] = counter;
  38.                         }
  39.                         else {
  40.                             matrix[r - 1][bugs[bug][1]] = bug;
  41.                             fixed.insert(bug);
  42.                         }
  43.                     }
  44.                 }
  45.             }
  46.         }
  47.     }
  48.  
  49.     for (int r = 0; r < matrixSize; r++) {
  50.         for (int c = 0; c < matrixSize; c++) {
  51.             cout << matrix[r][c];
  52.         }
  53.         cout << endl;
  54.     }
  55.  
  56.     return 0;
  57. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement