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

青岛工程建设管理信息网官方网站拓者设计吧app下载

青岛工程建设管理信息网官方网站,拓者设计吧app下载,淘宝网站怎么建设,亳州网站制作题目描述 取1到N共N个连续的数字(1≤N≤9),组成每位数不重复的所有可能的N位数,按从小到大的顺序进行编号。当输入一个编号M时,就能打印出与该编号对应的那个N位数。例如,当N=3时,可…

题目描述

取1到N共N个连续的数字(1≤N≤9),组成每位数不重复的所有可能的N位数,按从小到大的顺序进行编号。当输入一个编号M时,就能打印出与该编号对应的那个N位数。例如,当N=3时,可组成的所有三位数为:
在这里插入图片描述
那么,输入编号M=2时,则输出132。

输入
包括两个数,即正整数N(1 <= N <= 9)和正整数M(1 <= M <= 362880)。
输出
只有一行,即与输入的编号M对应的那个N位数。
样例输入
3 2
样例输出 Copy
132

分析

N <= 9,所以可以直接将n全排列,时间复杂度为O(n!),9! = 362880,并且全排列的过程中是从1开始枚举到n,故满足从小到大的关系,即不需要再进行排序,总时间复杂度满足题目要求

全排列

void dfs(int steps){if(steps == n + 1){tmp++; // tmp记录数量for(int i = 1;i <= n;i++) res[tmp][i] = path[i]; // res存储所有满足条件的情况return ;}for(int i = 1;i <= n;i++){if(!st[i]){st[i] = true;path[steps] = i;dfs(steps + 1);st[i] = false;}}
}

代码

#include<bits/stdc++.h>using namespace std;const int N = 9 + 10,M = 362880 + 10;int n,m;
int path[N];
bool st[N];
int tmp;
int res[M][N];void dfs(int steps){if(steps == n + 1){tmp++;for(int i = 1;i <= n;i++) res[tmp][i] = path[i];return ;}for(int i = 1;i <= n;i++){if(!st[i]){st[i] = true;path[steps] = i;dfs(steps + 1);st[i] = false;}}
}int main(){ios::sync_with_stdio;cin.tie(0),cout.tie(0);cin >> n >> m;dfs(1);for(int i = 1;i <= n;i++) cout << res[m][i];return 0;
}
http://www.yayakq.cn/news/717790/

相关文章:

  • 易优cms仿站教程做百度推广网站被攻击
  • 烟台网站建设seo网站建设 重庆
  • 企业网站后台管理系统观澜做网站
  • 心雨在线高端网站建设专业沛县网站建设
  • 贵州省建设厅网站文件网站开发与网站设计区别
  • 织梦欧美网站模板百度网站优化工具
  • 开发公司属于什么行业搜索引擎关键词快速优化
  • 网站后台怎么打开自动推广工具
  • 国内做网站上市公司seo网站关键词快速排名
  • 国外网站搭建平台asp.net mvc 5网站开发之美
  • 系部网站建设中期检查总结WordPress4.5取消了
  • 机械网站建设中心上海专业网站建设平台
  • 青岛建网站人织梦做的网站怎么加弹窗
  • 遵义哪里有做网站的网站开发推荐书籍
  • 青岛网站建设找正信郑州聚商网络科技有限公司
  • 制做网站首先应该怎么做网址导航网址大全
  • 深圳网站 制作信科便宜服务器试用
  • 娄底建设网站的公司陌陌引流推广软件
  • 商城网站开发与设计网站注册
  • cms 网站后台内容管理系统模板科技有限公司简介
  • 淘宝网站官网靖江做网站单位
  • 网站建设的案例泰州建站价格
  • 佛山高端网站默认网站停止
  • 柳州网站建设价格河北网站备案注销
  • 房产经纪人如何做网站吸客查企业哪个app最好
  • 网上商店网站设计临沂品牌网站推广
  • 如何用vs的c 做网站安阳网站建设商祺
  • 房地产行业网站开发搜索引擎网站盈利模式
  • 南京建站服务福建注册公司网上申请入口
  • 网站建设英文术语做wps的网站赚钱