Advertisement
nicuvlad76

Untitled

Oct 25th, 2020
1,693
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.00 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define N 1005
  3. using namespace std;
  4. ifstream fin("pachete.in");
  5. ofstream fout("pachete.out");
  6. int n, a[N], poz,l;
  7. struct  pachet
  8. {
  9.     int x,y;
  10. } v[N];
  11.  
  12. int main()
  13. {
  14.     int i,j;
  15.     fin>>n;
  16.     for(i=1;i<=n;i++)fin>>a[i];
  17.     poz=n+1;///pozitie spatiu
  18.     for(i=1;i<=n+1;i++)
  19.     {
  20.         if(a[i]!=i && i!=poz)
  21.         {
  22.             v[++l].x=i; v[l].y=poz;
  23.             a[poz]=a[i];
  24.             poz=i; a[poz]=0;
  25.             for(j=1;j<=n;j++)
  26.             {
  27.                 if(a[j]==1)
  28.                     {
  29.                         v[++l].x=j; v[l].y=i;
  30.                         poz=j;
  31.                         a[i]=i; a[poz]=0;
  32.                     }
  33.             }
  34.             if(a[n+1]!=0 && poz!=n+1)
  35.             {
  36.                 v[++l].x=n+1; v[l].y=poz;
  37.                 a[poz]=a[n+1];
  38.                 poz=n+1;a[poz]=0;
  39.             }
  40.         }
  41.     }
  42.  
  43.     fout<<l<<'\n';
  44.     for(i=1;i<=l;i++)
  45.         fout<<v[i].x<<" "<<v[i].y<<'\n';
  46.     return 0;
  47. }
  48.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement