(I3
I112
I8
(dp0
Vswap.%l
p1
(Vzad2.cpp
p2
S'#include <iostream>\r\n#define MAXN 100\r\nusing namespace std;\r\nint n,k,A[MAXN],M,mm,x;\r\nint N[MAXN][2];\r\nbool fir;\r\nint L[MAXN],L1[MAXN];\r\n\r\nvoid s()\r\n{\r\n    for (int i=0;i<n;i++)\r\n        for (int j=0;j<n;j++)\r\n    {\r\n        if (L1[i]>L1[j])\r\n        {\r\n            x=L1[i];\r\n            L1[i]=L1[j];\r\n            L1[j]=x;\r\n        }\r\n    }\r\n}\r\n\r\nvoid ex1 (int t)\r\n{\r\n    for (int i=0;i<n-1;i++)\r\n    {\r\n        if (A[i]!=i+1&&A[i+1]!=i+2&&(A[i]==t))\r\n        {\r\n            N[M][0]=i+1;\r\n            N[M][1]=i+2;\r\n            M++;\r\n            k=A[i];\r\n            A[i]=A[i+1];\r\n            A[i+1]=k;\r\n            ex1 (t);\r\n            break;\r\n        }\r\n    }\r\n}\r\nvoid ex2 (int t)\r\n{\r\n    for (int i=0;i<n-1;i++)\r\n    {\r\n        if (A[i]!=i+1&&A[i+1]!=i+2&&(A[i+1]==t))\r\n        {\r\n            N[M][0]=i+1;\r\n            N[M][1]=i+2;\r\n            M++;\r\n            k=A[i];\r\n            A[i]=A[i+1];\r\n            A[i+1]=k;\r\n            ex2 (t);\r\n            break;\r\n        }\r\n    }\r\n}\r\n\r\nint main ()\r\n{\r\n    cin>>n;\r\n    for (int i=0;i<n;i++)\r\n    {\r\n        cin>>A[i];\r\n        L1[i]=i+1;\r\n    }\r\n\r\n    for (int i=0;i<n;i++)\r\n    {\r\n        mm=A[i];\r\n        if (mm-1>i) L[mm-1]=mm-1-i;\r\n        else L[mm-1]=i-mm+1;\r\n    }\r\n\r\n    for (int i=0;i<n;i++)\r\n    {\r\n        L1[i]=L[i];\r\n    }\r\n    s();\r\n\r\n    for (int i=0;i<n;i++)\r\n    {\r\n        for (int j=0;j<n;j++)\r\n        {\r\n            if (L1[i]==L[j])\r\n            {\r\n                if (i<j) ex1(j+1);\r\n                else ex2(j+1);\r\n                L[j]=0;\r\n                break;\r\n            }\r\n        }\r\n    }\r\n    cout<<M;\r\n    for (int i=0;i<M;i++) cout<<endl<<N[i][0]<<" "<<N[i][1];\r\n    return 0;\r\n}\r\n'
p3
tp4
stp5
.