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

luogu P1706全排列问题

题目描述

输出自然数1到n所有不重复的排列,即n的全排列,要求所产生的任一数字序列中不允许出现重复的数字。

输入输出格式

输入格式:

 

n(1≤n≤9)

 

输出格式:

 

由1~n组成的所有不重复的数字序列,每行一个序列。每个数字保留5个常宽。

题解

这题真是道好题,用STL的好题

正常的题解是这样的(我同学的qwq)

#include<iostream>
#include<iomanip>
using namespace std;
int n;
int a[10001];
bool b[10001]={0};
void print()
{
    int i;
    for(i=1;i<=n;i++)
    cout<<setw(5)<<a[i];
    cout<<endl;
    return ;
}
void dfs(int k)
{
    int i;
    for(i=1;i<=n;i++)
    {
        if(!b[i])
        {
            a[k]=i;
            b[i]=1;
            dfs(k+1);
            b[i]=0;
        }
        
    }
    if(k==n+1)
    print();
    
    return ;
}
int main()
{
    cin>>n;
    dfs(1);
    
}

然而你们以为我会手打向上边那样的代码吗(偷笑)

下边是我写的代码

#include<bits/stdc++.h>
using namespace std;
int a[11];
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
        a[i]=i,printf("    %d",a[i]);
    while(next_permutation(a+1,a+1+n))
    {
        printf("\n");
        for(int i=1;i<=n;i++)
        printf("    %d",a[i]);
    }
    return 0;
}
next_permutation()STL中求下一个排列
友链:http://www.slyar.com/blog/stl_next_permutation.html

转载于:https://www.cnblogs.com/Alarak26/p/8525225.html

相关文章:

  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • git
  • Mysql数据库的条件查询语句
  • 观《时间的朋友2017》总结
  • Angry Birds和广告系统泄露个人信息——FireEye对Angry Birds的分析
  • Vagrant (二) - 日常操作
  • 2017年终总结、随想
  • js
  • PHP multipart/form-data 远程DOS漏洞
  • java 内存分析 jmap
  • 功能架构图、信息结构图、产品结构图的区别和绘制方法
  • 我们雇佣了一只大猴子...
  • 关于Android P 开发者预览版首发
  • Flink1.7.2 local WordCount源码分析
  • PyQt5 -day3-3 格栅布局 又叫 网格布局
  • 【译】JS基础算法脚本:字符串结尾
  • 【翻译】babel对TC39装饰器草案的实现
  • CentOS6 编译安装 redis-3.2.3
  • ES6核心特性
  • Java多线程(4):使用线程池执行定时任务
  • Java深入 - 深入理解Java集合
  • k8s 面向应用开发者的基础命令
  • magento 货币换算
  • MySQL数据库运维之数据恢复
  • Node 版本管理
  • node学习系列之简单文件上传
  • Python利用正则抓取网页内容保存到本地
  • SSH 免密登录
  • 大型网站性能监测、分析与优化常见问题QA
  • 京东美团研发面经
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 浅析微信支付:申请退款、退款回调接口、查询退款
  • 什么是Javascript函数节流?
  • 手写双向链表LinkedList的几个常用功能
  • 找一份好的前端工作,起点很重要
  • 浅谈sql中的in与not in,exists与not exists的区别
  • ​​快速排序(四)——挖坑法,前后指针法与非递归
  • # 计算机视觉入门
  • #使用清华镜像源 安装/更新 指定版本tensorflow
  • (3)llvm ir转换过程
  • (solr系列:一)使用tomcat部署solr服务
  • (保姆级教程)Mysql中索引、触发器、存储过程、存储函数的概念、作用,以及如何使用索引、存储过程,代码操作演示
  • (二)正点原子I.MX6ULL u-boot移植
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (附源码)计算机毕业设计ssm本地美食推荐平台
  • (蓝桥杯每日一题)love
  • (三)Honghu Cloud云架构一定时调度平台
  • (小白学Java)Java简介和基本配置
  • (学习日记)2024.04.10:UCOSIII第三十八节:事件实验
  • (原创)攻击方式学习之(4) - 拒绝服务(DOS/DDOS/DRDOS)
  • .cn根服务器被攻击之后
  • .dwp和.webpart的区别
  • .form文件_SSM框架文件上传篇
  • .NET 4.0中的泛型协变和反变