问题 A: 可重复的全排列(搜索与回溯)

问题 A: 可重复的全排列

[题目描述]

输入一个数n,输出1-n之间整数的可以重复的全排列。(n<=8)

输入

一个整数n

输出

多行。

样例输入

2

样例输出

1 1
1 2
2 1
2 2
#include<bits/stdc++.h>
using namespace std;
 
int n, q[10];
 
void print()
{
    for(int i = 1; i <= n - 1; i++)
    {
        cout << q[i] << " "; 
    }
    cout << q[n] << endl;
}
 
void dfs(int k)
{
    if(k > n)
    {
        print();
        return;
    }
    for(int i = 1; i <= n; i++)
    {
        q[k] = i;
        dfs(k + 1);
    }
}
 
int main()
{
    cin >> n;
    dfs(1);
    return 0;
}

posted @   不怕困难的博客  阅读(23)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· 地球OL攻略 —— 某应届生求职总结
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 提示词工程——AI应用必不可少的技术
· .NET周刊【3月第1期 2025-03-02】
点击右上角即可分享
微信分享提示