#include<stdio.h>
int n,N,i,j,p,q,t,s,a[51];
int main()
{
for(i=1;i<=N;i++)
{
s=0;
for(j=1;j<=n;j++)
{
for(j=1;j<=n-1;j++) /// searching from 1 to n...
{
for(p=1;p<=n;p++)
{
if(a[p]==j&&p!=j)
{
for(q=p;q>j;q--) /// taking a[q] to accurate place
{
t=a[q]; a[q]=a[q-1]; a[q-1]=t; s++; /// "swap" ++
}
}
}
}
printf("Optimal train swapping takes %d swaps.\n",s
);
}
return 0;
}
I2luY2x1ZGU8c3RkaW8uaD4KaW50IG4sTixpLGoscCxxLHQscyxhWzUxXTsKaW50IG1haW4oKQp7CiAgICBzY2FuZigiJWQiLCZOKTsgZ2V0Y2hhcigpOwogICAgZm9yKGk9MTtpPD1OO2krKykKICAgIHsKICAgICAgICBzPTA7CiAgICAgICAgc2NhbmYoIiVkIiwmbik7IGdldGNoYXIoKTsKICAgICAgICBmb3Ioaj0xO2o8PW47aisrKQogICAgICAgIHsKICAgICAgICAgICAgc2NhbmYoIiVkIiwmYVtqXSk7CiAgICAgICAgfSBnZXRjaGFyKCk7IGFbbisxXT0nXDAnOwogICAgICAgIGZvcihqPTE7ajw9bi0xO2orKykgICAgICAvLy8gc2VhcmNoaW5nIGZyb20gMSB0byBuLi4uCiAgICAgICAgewogICAgICAgICAgICBmb3IocD0xO3A8PW47cCsrKQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBpZihhW3BdPT1qJiZwIT1qKQogICAgICAgICAgICAgICAgewogICAgICAgICAgICAgICAgICAgIGZvcihxPXA7cT5qO3EtLSkgIC8vLyB0YWtpbmcgYVtxXSB0byBhY2N1cmF0ZSBwbGFjZQogICAgICAgICAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICAgICAgICAgdD1hW3FdOyBhW3FdPWFbcS0xXTsgYVtxLTFdPXQ7IHMrKzsgIC8vLyAic3dhcCIgKysKICAgICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9CiAgICAgICAgcHJpbnRmKCJPcHRpbWFsIHRyYWluIHN3YXBwaW5nIHRha2VzICVkIHN3YXBzLlxuIixzKTsKCiAgICB9CgogICAgcmV0dXJuIDA7Cn0K