Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- ifstream fin("cutii.in");
- ofstream fout("cutii.out");
- int ap[1001], v1[1001], v2[10001], n, cate;
- bool ok = true;
- int main()
- {
- fin >> n;
- n++;
- for(int i = 1; i <= n; i++)
- {
- fin >> v1[i];
- ap[v1[i]] = i;
- }
- for(int i = 1; i <= n; i++)
- {
- fin >> v2[i];
- }
- while(ok)
- {
- ok = false;
- int indice_dezord = 0;
- for(int i = 1; i <= n; i++)
- {
- if(v1[i] != v2[i])
- {
- ok = true;
- indice_dezord = i;
- break;
- }
- }
- if(ok)
- {
- int indice_0 = ap[0];
- if(v1[indice_0] == v2[indice_0])
- {
- swap(v1[indice_0], v1[indice_dezord]);
- cate++;
- ap[0] = indice_dezord;
- ap[indice_dezord] = indice_0;
- }
- indice_0 = ap[0];
- int numar_sub_zero = v2[indice_0];
- for(int i = 1; i <= n; i++)
- {
- if(v1[i] == numar_sub_zero)
- {
- swap(v1[i], v1[indice_0]);
- cate++;
- ap[0] = i;
- ap[v1[indice_0]] = indice_0;
- break;
- }
- }
- }
- }
- fout << cate;
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement