首页 > 学院 > 开发设计 > 正文

排列数

2019-11-08 02:19:40
字体:
来源:转载
供稿:网友

题目:求10的全排列

源码

#include<cstdio>  #include<string.h>  using namespace std;long long n,sum;  int vis[10];int a[10];  void dfs(int pos)  {      if(pos==10)    {          sum++;          if(sum==n)          {              for(int i=0; i<10; i++)                  PRintf("%d",a[i]);              printf("/n");          }      }      for(int i=0; i<=9; i++)    {          if(!vis[i])        {              a[pos]=i;            vis[i]=1;            dfs(pos+1);            vis[i]=0;        }      }  }  int main()  {      while(~scanf("%lld",&n))      {          memset(vis,0,sizeof(vis));          sum=0;          dfs(0);      }      return 0;  }  


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表