3 条题解
- 
  0
using namespace std; int a[100],book[100],n;//a为存放数的数组,book为手中有的牌,n为牌的数量 void dfs(int step){ if(step==n+1){//当排列的数超出了牌的数量时结束排列 for(int i=1;i<=n;i++) cout<<a[i];//输出此数 cout<<endl;//换行 return;//返回 } for(int i=1;i<=n;i++){ if(book[i]==0){//判断这个数是否还在 a[step]=i;//如果不在放入a数组中 book[i]=1;//将此张牌设为已放入 dfs(step+1);//继续排列 book[i]=0;//将此牌收回 } } return;//返回 } int main(){ cin>>n;//输入牌的数量 dfs(1);//函数运算 return 0; } 
信息
- ID
 - 1305
 - 时间
 - 1000ms
 - 内存
 - 256MiB
 - 难度
 - 6
 - 标签
 - 递交数
 - 267
 - 已通过
 - 87
 - 上传者