【题目描述】

给出一个n, 请输出n的所有全排列(按字典序输出)。

【样例输入】

3

【样例输出】

1 2 3

1 3 2

2 1 3

2 3 1

3 1 2

3 2 1

【解题思路】

听说C++有作弊器(求全排列的函数),羡慕不已啊……不过pascal也挺简单的,简单的递归回溯,我用了一个集合保证所有数字不重复,不知哪位神犇能给出更好的办法请写在评论处,谢谢!

【代码实现】

var n,w:longint;
a:array[..]of longint;
b:set of ..;//集合存储已用的数字
procedure try(m:longint);
var i:longint;
begin
if m=n then//一个排列生成,输出
begin
for i:= to n do
write(a[i],' ');
writeln;
end
else
for i:= to n do
if not (i in b) then
begin
inc(w);
a[w]:=i;
b:=b+[i];//存入a数组,方便输出,并标记
try(m+);//递归
b:=b-[i];
dec(w);//回溯
end;
end;
begin
readln(n);
try();
end.

全排列

全排列 (codevs 1294)题解的更多相关文章

  1. codevs——1294 全排列

    1294 全排列  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 给出一个n, 请输出n的所有全 ...

  2. codevs 1294 全排列 next_permuntation

    #include<bits/stdc++.h> using namespace std; #define ll long long #define pi (4*atan(1.0)) #de ...

  3. 计算系数 (codevs 1137) 题解

    [问题描述] 给定一个多项式(ax + by)^k,给定a.b.k.n.m,请求出多项式展开后x^n y^m项的系数. [样例输入] 1 1 3 1 2 [样例输出] 3 [解题思路] 本题为NOIP ...

  4. 【线性规划与网络流 24题】已完成(3道题因为某些奇怪的原因被抛弃了QAQ)

    写在前面:SDOI2016 Round1滚粗后蒟蒻开始做网络流来自我拯救(2016-04-11再过几天就要考先修课,现在做网络流24题貌似没什么用←退役节奏) 做的题目将附上日期,见证我龟速刷题. 1 ...

  5. code1052 地鼠游戏

    贪心算法,从后往前 来自codevs的题解: 我的纠结思考过程:如果每一秒都没有重复的地鼠出现 那么肯定是一个一个挨着打如果有重复的地鼠 那么要考虑打那个更优 当然是选分值最大的 单纯这样想很合理 但 ...

  6. code1006 等差数列

    我绞尽脑汁想一个更好的算法,然而不能如愿,只好写一个n^3的了 很简单,就是暴力搜索(还好n<100) 先排序,然后循环i=1ton,j=i+1ton 把a[i]a[j]确定为等差数列开始的两个 ...

  7. [BZOJ 3144][HNOI 2013] 切糕

    题目大意 切糕是 (p times q times r) 的长方体,每个点有一个违和感 (v_{x, y, z}).先要水平切开切糕(即对于每个纵轴,切面与其有且只有一个交点),要求水平上相邻两点的切 ...

  8. [BZOJ 1412][ZJOI 2009] 狼和羊的故事

    题目大意 有一个 (n times m) 的网格,每一个格子上是羊.狼.空地中的一种,羊和狼可以走上空地.现要在格子边上建立围栏,求把狼羊分离的最少围栏数. (1 leqslant n, ; m le ...

  9. CODE[VS] 1294 全排列

    1294 全排列  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Description 给出一个n, 请输出n的所有全 ...

随机推荐

  1. 页面设计--RadioButton

    RadioButton单选控件支持多分组模式 属性如下图 设计: web显示效果图:

  2. Codeforces Round #219 (Div. 2) B. Making Sequences is Fun

    B. Making Sequences is Fun time limit per test 2 seconds memory limit per test 256 megabytes input s ...

  3. 初探appium之环境搭建

    前段时间一直在折腾python的爬虫,想搞接口自动化.但是写了一个月,发现在我现在的这份的工作中根本接触不到接口.所以就想先放下来,先做点目前能够接触到的,也需要做的东西. 东西越来越多,人手不足.自 ...

  4. 【LeetCode】3.Longest Substring Without Repeating Characters 最长无重复子串

    题目: Given a string, find the length of the longest substring without repeating characters. Examples: ...

  5. php中未定义变量的使用

    在php中,若变量$test没有定义,则: empty($test)返回true: !empty($test)返回false: 具体可参考http://www.jb51.net/article/246 ...

  6. 在集群环境中使用 EhCache 缓存系统|RMI 集群模式

    RMI 是 Java 的一种远程方法调用技术,是一种点对点的基于 Java 对象的通讯方式.EhCache 从 1.2 版本开始就支持 RMI 方式的缓存集群.在集群环境中 EhCache 所有缓存对 ...

  7. iOS 如何根据经纬度来定位位置

    /** *  初始化一个经纬度结构体 */ CLLocationCoordinate2D center = {[latitudeTF.text floatValue],[longitudeTF.tex ...

  8. 【HTML/XML 9】XML中的DTD文件

    导读:DTD是Document type definition(文档类型定义的缩写),是一套关于标记符的语法规则,它是XML文件的验证机制,数以XML文件的组成部分.XML文档是一种描述标记语言的语言 ...

  9. 讲解DLL内容的比较详细的站点

    1.通过 Visual Studio 2008 用C语言创建和调用DLL : http://blog.chinaunix.net/uid-631975-id-116622.html 2.DLL(Dyn ...

  10. vs 异常处理

    解决方法: 4.0 删除 C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files 2..0 删除 C:/WINDOW ...