1256.txt

来自「北大ACM题目例程 详细的解答过程 程序实现 算法分析」· 文本 代码 · 共 46 行

TXT
46
字号


#include <stdio.h>
#include <string.h>
#include <algorithm>

using namespace std;

char w[20];

bool cmp( char a, char b )
{
	char aa=a, bb=b;
	
	if( a < 'a' ) a += 'a' - 'A';
	if( b < 'a' ) b += 'a' - 'A';

	return a < b || ( a == b && aa < bb );
}

int main()
{
	int n, l;

	scanf( "%d", &n );

	while( n-- )
	{

		scanf( "%s", w );

		l = strlen( w );
		sort( w, w+l, cmp );

		do{
			printf( "%s\n", w );

		}while( next_permutation( w, w+l, cmp ) );

	}

	return 0;
}


⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?