paranid5

2_Tehnokubok

Oct 25th, 2020 (edited)
212
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.32 KB | None | 0 0
  1. #include <cstdio>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5.  
  6. int main()
  7. {
  8.     int t = 0;
  9.     scanf("%d", &t);
  10.  
  11.     while (t--)
  12.     {
  13.         int n = 0, m = 0;
  14.         scanf("%d%d", &n, &m);
  15.         vector<vector<int>> tab(n, vector<int>(m));
  16.         vector<vector<int>> stroki(n);
  17.  
  18.         for (int i = 0; i < n; i++)
  19.         {
  20.             for (int q = 0; q < m; q++)
  21.             {
  22.                 int x = 0;
  23.                 scanf("%d", &x);
  24.                 stroki[i].push_back(x);
  25.             }
  26.         }
  27.  
  28.         vector<int> stolb(n);
  29.  
  30.         for (int q = 0; q < n; q++)
  31.         {
  32.             scanf("%d", &stolb[q]);
  33.         }
  34.  
  35.         for (auto sett : stroki)
  36.         {
  37.             int f = 0;
  38.  
  39.             for (; f < sett.size(); f++)
  40.             {
  41.                 if (sett[f] == stolb[0])
  42.                 {
  43.                     break;
  44.                 }
  45.             }
  46.  
  47.             if (f != sett.size())
  48.             {
  49.                 tab[0] = move(sett);
  50.  
  51.                 for (int g = 1; g < n; g++)
  52.                 {
  53.                     tab[g][f] = stolb[g];
  54.                 }
  55.  
  56.                 break;
  57.             }
  58.         }
  59.  
  60.         for (int h = 1; h < m; h++)
  61.         {
  62.             vector<int> stolb2(n);
  63.  
  64.             for (int q = 0; q < n; q++)
  65.             {
  66.                 scanf("%d", &stolb2[q]);
  67.             }
  68.  
  69.             for (int i = 0; i < m; i++)
  70.             {
  71.                 if (tab[0][i] == stolb2[0])
  72.                 {
  73.                     for (int g = 1; g < n; g++)
  74.                     {
  75.                         tab[g][i] = stolb2[g];
  76.                     }
  77.  
  78.                     break;
  79.                 }
  80.             }
  81.         }
  82.  
  83.         for (int i = 0; i < n; i++)
  84.         {
  85.             for (int q = 0; q < m; q++)
  86.             {
  87.                 printf("%d ", tab[i][q]);
  88.             }
  89.  
  90.             puts("");
  91.         }
  92.     }
  93.  
  94.     return 0;
  95. }
Add Comment
Please, Sign In to add comment