求助!只有11分。。

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 个赞

我的代码:

#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 个赞

在线等急!

3 个赞

代码?

4 个赞

在上面

3 个赞

给我解决方案

3 个赞

这里,下面的改成

a[k]=i;
vis[i]=true;
f(k+1);
vis[i]=false;
3 个赞

谢谢2位

3 个赞

我帖子下面有一个小勾,旁边写着解决方案,点一下

2 个赞

哦~

3 个赞

好了!

3 个赞

2 个赞

逗猴儿~

3 个赞