自己测试与输入输出一样,为什么全wa
查看原帖
自己测试与输入输出一样,为什么全wa
1289975
shuiyuans楼主2024/3/15 16:03
#include <stdio.h>
#include <stdbool.h>
#include <math.h>
#include <string.h>
int count=0;
char a[100];
void swap(char *c,int a,int b)
{
	for(int i=b;i>a;i--)
	{
	char t;
	t=c[i-1];
	c[i-1]=c[i];
	c[i]=t;
	}

}
void swapa(char *c,int a,int b)
{
	for(int i=a;i<b;i++)
	{
	char t;
	t=c[i+1];
	c[i+1]=c[i];
	c[i]=t;
	}
}
void fun(char *b,int left,int right)
{
	if(left==right)
	{
		count++;
		if(strcmp(b,a)==0)
		{
			printf("%d\n",count);
		}
	}
	else
	{
		for(int i=left;i<=right;i++)
		{
			
			swap(b,left,i);
			fun(b,left+1,right);
			swapa(b,left,i);
		}
	}
}
int main() {
	int n;
	scanf("%d",&n);
	getchar();
	gets(a);
	char b[100];
	for(int i=0;i<n;i++)
	{
		b[i]='1'+i;
	}
	b[n]='\0';
	fun(b,0,n-1);
}
2024/3/15 16:03
加载中...