问题描述
现在先po一下写的代码,
还没有完善qaq,就是两个问题,1.格式死板必须按照题中一样的格式才能获得答案
2.其实输出的时候没有按题排序..
#include <stdio.h>
int main ()
{
int N,k,flagE,flagA;
char a[100];
scanf ("%d",&N);
for (int i=0;i<N;i++)
{
flagE=0;
flagA=1;
scanf ("%d",&k);
for(int j=0;j<2*k+1;j++)
{
scanf ("%c",&a[j]);
if (a[j]=='E') flagE=j;
}
for(int j=0;j<k;j++)
{
if(a[j]<a[j+1]) flagA=0;
}
printf("结果%d_\n",i+1);
if(flagA==1) printf("目标格局\n");
else
{
int n1=0,n2=0;
for(int i=flagE-1;i>=0;i--)
{
char temp1=a[flagE];
char temp2=a[i];
a[flagE]=a[i];
a[i]=temp1;
for(int j=0;j<2*k+1;j++)
{
printf("%c",a[j]);
}
printf("\n");
a[flagE]=temp1;
a[i]=temp2;
n1++;
if(n1==3)break;
}
for(int i=flagE+1;i<2*k+1;i++)
{
char temp1=a[flagE];
char temp2=a[i];
a[flagE]=a[i];
a[i]=temp1;
for(int j=0;j<2*k+1;j++)
{
printf("%c",a[j]);
}
printf("\n");
a[flagE]=temp1;
a[i]=temp2;
n2++;
if(n2==3)break;
}
}
}
}