Advertisement
Nita_Cristian

cutii

Jan 16th, 2020
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.44 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. ifstream fin("cutii.in");
  6. ofstream fout("cutii.out");
  7.  
  8. int ap[1001], v1[1001], v2[10001], n, cate;
  9. bool ok = true;
  10.  
  11. int main()
  12. {
  13.     fin >> n;
  14.     n++;
  15.  
  16.     for(int i = 1; i <= n; i++)
  17.     {
  18.         fin >> v1[i];
  19.         ap[v1[i]] = i;
  20.     }
  21.  
  22.     for(int i = 1; i <= n; i++)
  23.     {
  24.         fin >> v2[i];
  25.     }
  26.  
  27.     while(ok)
  28.     {
  29.         ok = false;
  30.  
  31.         int indice_dezord = 0;
  32.  
  33.         for(int i = 1; i <= n; i++)
  34.         {
  35.             if(v1[i] != v2[i])
  36.             {
  37.                 ok = true;
  38.                 indice_dezord = i;
  39.                 break;
  40.             }
  41.  
  42.         }
  43.  
  44.         if(ok)
  45.         {
  46.             int indice_0 = ap[0];
  47.  
  48.             if(v1[indice_0] == v2[indice_0])
  49.             {
  50.                 swap(v1[indice_0], v1[indice_dezord]);
  51.                 cate++;
  52.                 ap[0] = indice_dezord;
  53.                 ap[indice_dezord] = indice_0;
  54.             }
  55.             indice_0 = ap[0];
  56.  
  57.             int numar_sub_zero = v2[indice_0];
  58.  
  59.             for(int i = 1; i <= n; i++)
  60.             {
  61.                 if(v1[i] == numar_sub_zero)
  62.                 {
  63.                     swap(v1[i], v1[indice_0]);
  64.  
  65.                     cate++;
  66.  
  67.                     ap[0] = i;
  68.                     ap[v1[indice_0]] = indice_0;
  69.  
  70.                     break;
  71.                 }
  72.             }
  73.         }
  74.     }
  75.  
  76.     fout << cate;
  77.  
  78.     return 0;
  79. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement