比赛 |
20120418s |
评测结果 |
WWWWWWWWWW |
题目名称 |
排序 |
最终得分 |
0 |
用户昵称 |
feng |
运行时间 |
0.000 s |
代码语言 |
C++ |
内存使用 |
0.00 MiB |
提交时间 |
2012-04-18 11:02:59 |
显示代码纯文本
#include<fstream>
using namespace std;
int a[25];
int f[25];
int change[10000];
int sum=0,n,m,i,p;
void swap(int k)
{
int c[25];
for (int i=1;i<=k;i++)
c[i]=a[i];
for (int i=1;i<=k;i++)
a[i]=c[k-i+1];
}
int find(int k)
{
for (int i=1;i<=n;i++)
if (k==a[i])
{
return i;
}
return 0;
}
int main()
{
ifstream fin("sorta.in");
ofstream fout("sorta.out");
fin>>n;
for (i=1;i<=n;i++)
{
fin>>a[i];
f[i]=i;
}
for (i=n;i>=1;i--)
{
if (f[i]!=a[i])
{
p=find(i);
if (p>1)
{
swap(p);
swap(i);
sum++;
change[sum]=p;
sum++;
change[sum]=i;
}
else
{
swap(i);
sum++;
change[sum]=i;
}
}
}
fout<<sum<<endl;
for (i=1;i<=sum;i++)
fout<<change[i]<<' ';
fin.close();
fout.close();
return 0;
}