C++ 可重复的全排列(DFS)

C++ 可重复的全排列(DFS),第1张

📋 个人简介

🎉大家好,我是3月份新人榜排名第三的 ༺Blog༒Hacker༻
💬支持我:点赞👍+收藏⭐️+留言📝
🌺格言:༺永做优质༒programmer༻

注(具体请见CF665B Shopping):

我的更新时间会有所改变,每月2-4篇,感谢各位长期以来的支持!

📣可重复的全排列(DFS)

题目描述
输入一个整数n,生成可重复的全排列(n<=10) 。

输入格式
一个整数n。

输出格式
若干行全排列,每行n个空格隔开的整数。

样例数据

input

2
output

1 1 
1 2
2 1
2 2

数据规模与约定

1≤n≤10
思路:搜索 💯AC CODE
#include
using namespace std;
int n;
int a[15];/* 存全排列 */
void DFS(int deep)//what floor?
{
	//exit end
	if(deep==n+1)
	{
		for(int i=1;i<=n;++i)
          cout<<a[i]<<" ";
        cout<<endl;
        return;
	}
	//'enumerate' current "deep" 
	for(int i=1;i<=n;++i)
	{
		a[deep]=i;
		DFS(deep+1);//search the next "deep"	
	}
}
int main()
{
	cin>>n;
	DFS(1);
	exit(0);
}
🔮朋友们,点赞收藏是我更新的动力,明天再见,拜拜!!!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1498144.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-25
下一篇 2022-06-25

发表评论

登录后才能评论

评论列表(0条)

保存