TOJ---2621--全排列

这个方法 是超神教我的 --- 全排列的方法太多种了 感觉他这种写的 字典序法 是最简单的 最容易让人接受的

而且在时间复杂度和空间复杂度上 都可以让人接受

我待会将具体每步做法简要写一下...-> 我现在被一个 三角形给 深深烦死了  。。。。。。贴个代码 来 缓解下.....

 1 #include <iostream>
 2 #include <algorithm>
 3 using namespace std;
 4 
 5 int arr[30];
 6 const int inf = 0x3f3f3f3f;
 7 
 8 int main()
 9 {
10     int n , temp;
11     int t;
12     int i , j , k;
13     while( ~scanf("%d",&t) )
14     {
15         while( t-- )
16         {
17             scanf( "%d",&n );
18             for( i = 0 ; i<n ; i++ )
19             {
20                 scanf( "%d",&arr[i] );
21             }
22             sort( arr , arr+n );
23             while(1)
24             {
25                 int mmin = inf;
26                 for( i = 0 ; i<n ; i++ )
27                 {
28                     printf( "%d%c",arr[i],(i==n-1)?'\n':' ' );
29                 }
30                 for( i = n-1 ; i>=1 ; i-- )
31                 {
32                     if( arr[i]>arr[i-1] )
33                     {
34                         temp = arr[i-1];
35                         k = i-1;
36                         break;
37                     }
38                 }
39                 if( i<=0 )
40                     break;
41                 for( i = n-1 ; i>k ; i-- )
42                 {
43                     if( arr[i]>arr[k] && arr[i]<mmin )
44                     {
45                         mmin = arr[i];
46                         j = i;
47                     }
48                 }
49                 swap( arr[j] , arr[k] );
50                 for( i = k+1 , j = n-1 ; i<j ; i++ , j-- )
51                 {
52                     swap( arr[i] , arr[j] );
53                 }
54             }
55             printf( "\n" );
56         }
57     }
58     return 0;
59 }
View Code

 

today:

  世间最美 不过 残缺美

  所以 留点遗憾 是件很美的事

转载于:https://www.cnblogs.com/radical/p/3790117.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/399332.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Azure 和 Linux

Azure 正在不断集结各种集成的公有云服务&#xff0c;包括分析、虚拟机、数据库、移动、网络、存储和 Web&#xff0c;因此很适合用于托管解决方案。 Azure 提供可缩放的计算平台&#xff0c;允许即用即付&#xff0c;而无需投资购买本地硬件。 Azure 允许根据客户端所需的任何…

java获取classpath以外的路径

最近在使用以前写过的代码生成器&#xff08;从表名可生成所有的代码&#xff09;的时候&#xff0c;发现生成的文件都在classpath目录下&#xff0c;所有的文件都得自己拷到工程目录下&#xff0c;于是&#xff0c;想优化一下&#xff0c;取得classpath目录以外的路径&#xf…

月份第一天_4月份的第一天,全省迎来晴暖天气~

2019年4月1日早上好北方新农村准时准点播报~▼▼▼今天是2019年4月1日星期一辽宁的天气小孩的脸说变就变上周末突如其来的一场雪&#xff0c;让辽宁大部分地区“措手不及”已经开始回升的温度瞬间跌落到谷底。但不管怎样&#xff0c;随着节气的更迭&#xff0c;冷空气终究大势已…

Windows系统下搭建Git本地代码库

近由于工作需要&#xff0c;要把工作代码做一下版本管理。工作代码也不方便放到github上&#xff0c;也不想付费建私密库&#xff0c;公司也没几个人&#xff0c;所以就想着搭建一个本地Git版本库&#xff0c;来做版本管理。搭建过程如下。 系统环境&#xff1a;Dell OptiPlex…

mac 下终端 操作svn命令 以及出现证书错误的处理方法

首先&#xff0c;转载地址&#xff1a;http://hi.baidu.com/zhu410289616/item/eaaf160f60eb0dc62f4c6b0e 还有一个地址&#xff1a;http://www.cnblogs.com/heiniuhaha/archive/2011/11/11/2245594.html 解决证书出错&#xff0c;错误见下图&#xff1a; 解决方法&#xff1a;…

Linux shell multifile content replace with sed

#!/bin/bash# Linux shell multifile content replace with sed # 声明&#xff1a; # 本源代码主要是利用两份&#xff08;中、英文&#xff09;具有相同键值对的json数据&#xff0c;对html内的中文进行 # 自动化文本替换的代码。 # # …

jquery实时监听输入框值变化

在做web开发时候很多时候都需要即时监听输入框值的变化&#xff0c;以便作出即时动作去引导浏览者增强网站的用户体验感。而采用onchange时间又往往是在输入框失去焦点&#xff08;onblur&#xff09;时候触发&#xff0c;有时候并不能满足条件。 首先看一下dom中元素事件&…

文件过滤_jmeter(七)-BeanShell对数据过滤保存文件

在测试中有时需要对参数化数据进行过滤&#xff0c;实现保存到一个文件。如&#xff1a;某项目&#xff0c;从数据库查询到10万条用户数据&#xff0c;因为有的用户没有权限或者过期了&#xff0c;需要对这份数据筛选出来能正常使用的用户。如下使用beanshell实现此功能。原文件…

如何在mac系统下搭建git服务器

https://zhidao.baidu.com/question/1823748339128066228.html 第一步,下载gitblit http://gitblit.com/ 这里当然是选择linux/osx的版本。下载下来是一个.tar.gz的压缩文件&#xff0c;我下载时最新版本是gitblit-1.7.1.tar.gz 第二步&#xff0c;配置gitblit 创建目录&…

高级开发面试题

1.以前公司做过哪些项目&#xff1b; 2.这些项目都用到哪些技术&#xff1b; 3.redis里有哪些数据类型&#xff0c;对比memcache和redis&#xff1b; 4.目前平台的系统架构&#xff1b; 5.dubbo的server分了几个&#xff0c;怎么分的&#xff1b; 6.集群的负载策略&#xff1b;…

部品se分析_汽车储物箱部品模具,二色产品模具专业厂

汽车储物箱部品模具PVC塑料型材挤出模具是挤出生产线的核心部分&#xff0c;它包括口模(又称模头)、定型模、冷却水箱等。口模通过法兰盘与挤出机机头上的法兰盘组装在一起&#xff0c;安装加热圈、加热板&#xff0c;接通电源和热电偶。定型模和冷却水箱装用螺钉固定在定型台&…

WordPress二次开发经验简短总结

1.建议直接在客户给的服务器环境上安装WordPress程序再二次开发&#xff0c;如果在自己的开发机上安装好后再迁移过去&#xff0c;不同版本数据库或不同版本PHP环境可能会砸出坑。 2.由于国情原因&#xff0c;大陆访问googleapis.com呈现龟速特征&#xff0c;参考我之前的文章…

【Lucene4.8教程之五】Luke

一、Luke基本内容 1、Luke简介 Luke可用于查看Lucene创建的索引&#xff0c;并对其进行基本操作。 2、创建Luke &#xff08;1&#xff09;从Github上下载源文件 https://github.com/tarzanek/luke &#xff08;2&#xff09;解压文件后&#xff0c;打开DOS窗口&#xff0c;进入…

计算mView在view周围的位置

为什么80%的码农都做不了架构师&#xff1f;>>> /*** 计算mView在view周围的位置** param view** param mMargin mView与view或边界的间距* * titleBarHeight 标题栏的高度* mContext当前的Activity*/private void aroundView(View view, float mMargin) …

微信小程序6 - 页面之间传参及通知系统封装

1. 简单传参 wx.navigateTo({url: /pages/demo/index/index?id1})/pages/demo/index/index.js 中onLoad(options){var id options.id; //获取通过url参数传递来的参数}2. 复杂传参var json JSON.stringify({a:1});wx.navigateTo({url: /pages/demo/index/index?json json})…

aardio教程_官方AARDIO课程已经开课了!学习的速来报道!

aardio视频培训课程(2018新版)因为课程都是制作视频 - 所以上课时间不受限制。1、本次课程共计50节视频课程&#xff0c;每周一课&#xff0c;培训时间为一年(1月15日以后报名按报名交费时间开始计算)。2、所有参加本次培训课程 &#xff0c;可同时获取为期2年的技术支持服务(1…

php 开源建站工具 -- 资料收集

迅睿 CMS 开源建站程序 XunRuiCMShttps://www.xunruicms.com/

神马是代码简单的cmd模式,这就是!

小狼正在研究 “怎么查找连在一起的同色方块&#xff1f;”算法问题 &#xff0c;突然感觉我是不是需要一种开发模式&#xff0c;不然感觉自己的代码好乱的。 可能是研究算法吧&#xff0c;导致小狼的思路特别清晰&#xff0c;加上也用了差不多1年的nodejs、seajs&#xff0c;对…

找出数组中两个只出现了一次的数

原题&#xff1a;给一组数&#xff0c;只有两个数只出现了一次&#xff0c;其他所有数都是成对出现的。怎么找出这两个数。编写函数实现。 对于一组数中只有一个数只出现一次&#xff0c;其他所有数都是成对出现的&#xff0c;我们采用了对全部数组元素进行异或&#xff0c;经过…

aspx隐藏前台控件div_c# – 代码隐藏页面无法“查看”aspx页面中声明的任何项目/控件...

这是我的Default.aspx页面(删除了不必要的细节)&#xff1a;UsernamePassword这是代码隐藏(删除了不必要的细节)&#xff1a;namespace webapp{public partial class _Default : System.Web.UI.Page{protected void Page_Load(object sender, EventArgs e){(webapp.MasterPages…