无间傀儡1
(懂爱旳孤独)
1
A. 小圌的全排列
Problem ID: 7081
Contest ID: 6006
必做题
Wrong Answer
11 分
时间限制:1s 空间限制:250M
题目描述:
请你帮小圌编写一个程序,使用递归的方法,按从小到大的顺序输出 11~�n 的全排列。
输入格式:
一行,一个数字 � (1≤�≤9)n(1≤n≤9) 。
输出格式:
按字典序从小到大的顺序输出 1∼�1∼n 的全排列,每行一个排列,同一行之间数字用一个空格隔开。
输入样例:
3
输出样例:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
3 个赞
无间傀儡1
(懂爱旳孤独)
2
我的代码:
#include <bits/stdc++.h>
using namespace std;
int n,a[101],vis[101];
void f(int k){
if(k==n+1){
for (int i=1;i<=n;i++)
cout<<a[i]<<" ";
cout<<endl;
return;
}
for(int i=1;i<=n;i++){
if(vis[i]==0){
a[k]=1;
vis[i]=1;
f(k+1);
}
}
}
int main(){
cin>>n;
f(1);
return 0;
}
3 个赞
贾中正
(贾中正)
9
这里,下面的改成
a[k]=i;
vis[i]=true;
f(k+1);
vis[i]=false;
3 个赞