Advertisement
sokolova4

Задача 10 из идз

Mar 20th, 2021
789
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.18 KB | None | 0 0
  1. #include <vector>
  2. #include <iostream>
  3. #include<string>
  4. #include <map>
  5. using namespace std;
  6. int main() {
  7.     vector<vector<int>> a;
  8.     for (int i = 0; i < 8; i++) {
  9.         a.push_back(vector<int>());
  10.         for (int j = 0; j < 8; j++) {
  11.             char h;
  12.             cin >> h;
  13.             if (h == '0') {
  14.                 a[i].push_back(-1);
  15.  
  16.             }
  17.             else a[i].push_back(h - 'a');
  18.         }
  19.     }
  20.     int ind = 0;
  21.     while (ind!=8*8) {
  22.         ind= 0;
  23.         for (int x = 0; x < 8; x++) {
  24.             for (int y = 0; y < 8; y++) {
  25.                 if (a[x][y] != -1) {
  26.                     ind++;
  27.                 }
  28.                 for (int z = 0; z < 8; z++) {
  29.                     if (a[y][z] != -1 && a[x][y] != -1 && a[a[x][y]][z] != -1) {
  30.                         if (a[x][a[y][z]] != -1) {
  31.                             if (a[x][a[y][z]] != a[a[x][y]][z]) {
  32.                                 cout << "ошибка " + x + ' ' + y + ' ' + z;
  33.                             }
  34.                            
  35.                         }
  36.                         else {
  37.                             a[x][a[y][z]] = a[a[x][y]][z];
  38.                         }
  39.                     }
  40.                     if (a[y][z] != -1 && a[x][y] != -1 && a[x][a[y][z]] != -1) {
  41.                         if (a[a[x][y]][z] != -1) {
  42.                             if (a[x][a[y][z]] != a[a[x][y]][z]) {
  43.                                 cout << "ошибка " + x + ' ' + y + ' ' + z;
  44.                             }
  45.  
  46.                         }
  47.                         else {
  48.                             a[a[x][y]][z] = a[x][a[y][z]];
  49.                         }
  50.                     }
  51.                 }
  52.             }
  53.         }
  54.     }
  55.     vector<string> ans = vector<string>(9, "");
  56.     ans[0] += "  ";
  57.     for (int i = 0; i < 8; i++) {
  58.         ans[0] += ('a' + i);
  59.         ans[0] += " ";
  60.     }
  61.     for (int i = 0; i < 8; i++) {
  62.         ans[i + 1] += ('a' + i);
  63.         ans[i+1]+= " ";
  64.     }
  65.     for (int i = 0; i < 8; i++) {
  66.         for (int j = 0; j < 8; j++) {
  67.             ans[i + 1] += (a[i][j] + 'a');
  68.             ans[i+1]+=" ";
  69.         }
  70.     }
  71.     for (int i = 0; i < 9; i++) {
  72.         cout << ans[i] + '\n';
  73.     }
  74.     cout<<'\n';
  75.     /*map<char, int> dict = { {'a',2},{'b',7},{'c',5},{'d',1},{'e',0},{'f',3},{'g',6},{'h',4} };
  76.     //map<char, int> dict = { {'a',2},{'b',5},{'c',7},{'d',3},{'e',1},{'f',1},{'g',6},{'h',4} };
  77.     ans = vector<string>(9, "");
  78.     ans[0] += "  ";
  79.     for (int i = 0; i < 8; i++) {
  80.         ans[0] += '0'+(dict['a' + i]);
  81.         ans[0] += " ";
  82.     }
  83.     for (int i = 0; i < 8; i++) {
  84.         ans[i + 1] += '0' + (dict['a' + i]);
  85.         ans[i + 1] += " ";
  86.     }
  87.     for (int i = 0; i < 8; i++) {
  88.         for (int j = 0; j < 8; j++) {
  89.             ans[i + 1] += '0' + (dict[a[i][j] + 'a']);
  90.             ans[i + 1] += " ";
  91.         }
  92.     }
  93.     for (int i = 0; i < 9; i++) {
  94.         cout << ans[i] + '\n';
  95.     }*/
  96.    
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement