问题 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 @ 2022-08-03 10:51  不怕困难的博客  阅读(33)  评论(0)    收藏  举报  来源