文章

9

粉丝

126

获赞

11

访问

52.0k

头像
dfs全排列
P1185 中国矿业大学/北京大学机考题
发布于2022年3月12日 10:19
阅读数 5.2k

新手

#include <iostream>
using namespace std;
#include <string.h>

int vis[100];

char str[100];//输入字符串 
char str1[100];//存放输出结果 
int n;

void  DfsFullPermutation(int step, char* str)
{
	int len = strlen(str);
	if (step == len)//循环结束条件 
	{
		cout << str1 << endl;;
		return;
	}
	for (int i = 0; i < len; i++) 
	{
		if (vis[i] == 0)
		{
			str1[step] = str[i] ;
			vis[i] = 1;
			DfsFullPermutation (step+1, str);//dfs递归 
			vis[i] = 0;
		}
	}
}

int main ()
{
	scanf ("%s", str);
	DfsFullPermutation(0, str);
	return 0;
}



 

登录查看完整内容


登录后发布评论

暂无评论,来抢沙发