- 主页/
- 两行三列图可能排序数列
两行三列图可能排序数列
发布于 2016-12-16 20:44
1297 次浏览
0 赞
来自 资源分享
#include<stdio.h>
#include<string.h>
int main()
{
char S[7];
int N = 6;
int count = 0;
int i, j;
char a;
gets(S);
//把空格放在能排好序的顺序的同一个格子中
for(i=0;i<N-1;i++)
{
if(S[i]=='*' && i<3)
{
printf("%d a\n",i);
a = S[i+3];
S[i+3]=S[i];
S[i]=a;
}else if(S[i]=='*')
{
printf("%d d\n",i);
a = S[i+1];
S[i+1]=S[i];
S[i]=a;
}
}
// printf("%s\n",S);
//计算逆序对
for(i=0; i<N-1; i++)
for(j=i+1; j<N; j++)
if(S[i]>S[j])
count++;
// printf("%d\n",count);
//跟原来的排好的序列逆序对比,
//A B C
//D E *
//所以原始为5,奇数,所以新数列得到为奇数的就能排好
if(count%2==1)
printf("1");
else
printf("0");
getchar();
return 1;
}
添加回复