SSS_Krut

Задача 530(26%)

Jun 16th, 2021
946
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include <iostream>
  2. #include <vector>
  3. using namespace std;
  4. void Mat(vector<vector<bool>> mat1, vector<vector<bool>> mat2, vector<vector<char>>& vec, string str);
  5. int main()
  6. {
  7.     int a, b;
  8.     cin >> a >> b;
  9.  
  10.     vector<vector<bool>> vec;//{ b1,vector<bool>(a1) };
  11.     vector<vector<bool>> vec2;//{ b1,vector<bool>(a1) };
  12.     for (int i = 0; i != b; i++) {
  13.         string str;
  14.         cin >> str;
  15.         vec.push_back(vector<bool>());
  16.         for (int k = 0; k != str.size(); k++) {
  17.             vec[i].push_back(bool());
  18.             const char t = str[k];
  19.             vec[i][k] = atoi(&t);
  20.         }
  21.     }
  22.     for (int i = 0; i != b; i++) {
  23.         string str;
  24.         cin >> str;
  25.         vec2.push_back(vector<bool>());
  26.         for (int k = 0; k != str.size(); k++) {
  27.             vec2[i].push_back(bool ());
  28.             const char t = str[k];
  29.             vec2[i][k] = atoi(&t);
  30.         }
  31.     }
  32.     vector<vector<char>> vec3{vec.size(),vector<char>(vec[0].size())};
  33.     string out;
  34.     cin >> out;
  35.     Mat(vec, vec2, vec3, out);
  36.     for (auto i = vec3.begin(); i != vec3.end(); i++) {
  37.         for (auto j = (*i).begin(); j != (*i).end(); j++) {
  38.             cout << (*j);
  39.         }
  40.         cout << endl;
  41.     }
  42. }
  43. //вообще все существующие варианты можно было бы перебрать за счет лог операций, ведь все возможные случаи там и описаны
  44. //но мне хочется велосипед изобрести
  45. void Mat(vector<vector<bool>> mat1, vector<vector<bool>> mat2, vector<vector<char>>& vec, string str) {
  46.     for (int i = 0;i!=mat1.size();i++)
  47.         for (int q = 0; q != mat1[i].size(); q++) {
  48.             if (mat1[i][q] == 0) {
  49.                 if (mat2[i][q] == 0) {vec[i][q] = str[0];}
  50.                 else {vec[i][q] = str[1];}
  51.             }
  52.             else {
  53.                 if (mat2[i][q] == 0) {vec[i][q] = str[2];}
  54.                 else {vec[i][q] = str[3];}
  55.             }
  56.         }
  57. }
RAW Paste Data