当前位置: 首页 > news >正文

佛山提供网站设计方案公司商务网站规划与网页制作

佛山提供网站设计方案公司,商务网站规划与网页制作,淘客网站开发培训,网站集约化建设需求给定一个整数 nn,将数字 1∼n1∼n 排成一排,将会有很多种排列方法。 现在,请你按照字典序将所有的排列方法输出。 输入格式 共一行,包含一个整数 nn。 输出格式 按字典序输出所有排列方案,每个方案占一行。 数据…

给定一个整数 nn,将数字 1∼n1∼n 排成一排,将会有很多种排列方法。

现在,请你按照字典序将所有的排列方法输出。

输入格式

共一行,包含一个整数 nn。

输出格式

按字典序输出所有排列方案,每个方案占一行。

数据范围

1≤n≤71≤n≤7

输入样例:
3
输出样例:
1 2 3
1 3 2
2 1 3
2 3 1
3 1 2
3 2 1
难度:简单
时/空限制:1s / 64MB
总通过数:95837
总尝试数:121097
来源:模板题
算法标签

思路

1.深度优先搜索:只要所有数字使用完成,就输出该种情况

    if(u>n){for(int i=1;i<=n;i++)   printf("%d ",path[i]);printf("\n");return;}

2.path[i]表示一条路径,每一个位置可以放置一个数字

3.恢复现场:改变路径上面的数字,数字的使用状态(数字被使用之后标记为true) ,递归到下一个数字,然后恢复现场,把路径上面的数字恢复为0(其实不恢复也没关系,因为下一次使用赋值会直接覆盖原来的数字),把数字的使用状态恢复为未使用(false)

    for(int i=1;i<=n;i++){if(!state[i]){path[u]=i;state[i]=true;dfs(u+1);path[u]=0;state[i]=false;}}

代码

#include<iostream>
using namespace std;const int N=10;
int n,path[N];
bool state[N];void dfs(int u)
{if(u>n){for(int i=1;i<=n;i++)   printf("%d ",path[i]);printf("\n");return;}for(int i=1;i<=n;i++){if(!state[i]){path[u]=i;state[i]=true;dfs(u+1);path[u]=0;state[i]=false;}}
}int main()
{scanf("%d",&n);dfs(1);return 0;
}

 

 

http://www.yayakq.cn/news/764068/

相关文章:

  • 建设厅官方网站新资质标准wordpress 教程 插件
  • 网站 留言 以邮件形式微企点做的网站怎么去底下的
  • 做调查的网站门户设计理念
  • 杭州高端网站设计衡阳网站seo优化
  • 建设银行遵义分行网站电子商务网站建设与维护期末
  • 怎样免费做网站淄博网站优化首选公司
  • 网站的动态图怎么做的软件开发的基本过程包括
  • 电视直播网站建设网站建设项目总结报告
  • 触屏网站meta标签网站后端都需要什么意思
  • 知彼网络网站建设wordpress云盘视频播放
  • 网站建设南昌李氏牛仔网站建设风
  • 网站可以不备案吗做网站的专业词汇
  • 在您的网站首页添加标签aso优化什么意思是
  • 网站建设环境分析网站开发的具体流程
  • 网站开发制作公司简介比较好网站设计公司
  • 俄文淘宝网站建设网站申请空间
  • 做游戏网站的需求分析做网站用盗版PS
  • 网站开发费用预算wordpress菜单定制
  • 建筑网站图片求一个做烧肉的网站
  • 企业网站制作公司合肥网站建设百度云
  • 江西网站设计欣赏网站怎么做英文版的
  • 手机网页 模板徐州百度快照优化
  • wordpress网站做成小程序中山祥云网站建设
  • 保定市住房和城乡建设局网站英语作文网
  • 学校的网站是怎么建设的企业网站的制作周期
  • 网站开发代做网站添加属性
  • 网站的版面布局手机网站自动适配代码
  • 找在家做的兼职上什么网站好上海装修公司咨询
  • 成都 做网站上海网站开发哪里有
  • 黄冈智能网站建设平台潘虎设计公司