Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define N 1005
- using namespace std;
- ifstream fin("pachete.in");
- ofstream fout("pachete.out");
- int n, a[N], poz,l;
- struct pachet
- {
- int x,y;
- } v[N];
- int main()
- {
- int i,j;
- fin>>n;
- for(i=1;i<=n;i++)fin>>a[i];
- poz=n+1;///pozitie spatiu
- for(i=1;i<=n+1;i++)
- {
- if(a[i]!=i && i!=poz)
- {
- v[++l].x=i; v[l].y=poz;
- a[poz]=a[i];
- poz=i; a[poz]=0;
- for(j=1;j<=n;j++)
- {
- if(a[j]==1)
- {
- v[++l].x=j; v[l].y=i;
- poz=j;
- a[i]=i; a[poz]=0;
- }
- }
- if(a[n+1]!=0 && poz!=n+1)
- {
- v[++l].x=n+1; v[l].y=poz;
- a[poz]=a[n+1];
- poz=n+1;a[poz]=0;
- }
- }
- }
- fout<<l<<'\n';
- for(i=1;i<=l;i++)
- fout<<v[i].x<<" "<<v[i].y<<'\n';
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement