D的小L

时间限制:4000 ms  |  内存限制:65535 KB
难度:2
描述
一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个题目想难倒匡匡(小L很D吧),有一个数n(0<n<10),写出1到n的全排列,这时匡匡有点囧了,,,聪明的你能帮匡匡解围吗?

输入
第一行输入一个数N(0<N<10),表示有N组测试数据。后面的N行输入多组输入数据,每组输入数据都是一个整数x(0<x<10)
输出
按特定顺序输出所有组合。
特定顺序:每一个组合中的值从小到大排列,组合之间按字典序排列。
样例输入
2
2
3
样例输出
12
21
123
132
213
231
312
321
题目大意:求一个数的全部排列
思路:题中给的数小,所以用递归求出,至于递归的过程,我还没理解的不清楚,第一个代码是c的,好费事的
    下边一个是c++的,,你可以看到,c++的库函数是多么强大!唉,,伤不起的面向过程
2014,11,20
#include<stdio.h>
#include<string.h>
int a[11],b[11],n;
void f(int v){int i;if(v>n){for(i=1;i<=n;i++)printf("%d",a[i]);puts("");}else{for(i=1;i<=n;i++){if(!b[i]){b[i]=1;a[v]=i;f(v+1);b[i]=0;}}}
}
int main(){int t,c;//,n开始忘了,又定义了一遍n然后就没有输出 scanf("%d",&t);memset(a,0,sizeof(a));memset(b,0,sizeof(b));while(scanf("%d",&n)&&t--)f(1);return 0;
}
//c++版
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
int a[11]={1,2,3,4,5,6,7,8,9,10};
int main(){int n,t,i;cin>>t;while(t--){cin>>n;do{for(i=0;i<n;i++)cout<<a[i];cout<<endl;}while(next_permutation(a,a+n));//c++的库函数,求一个数的全排,如果存在这个数返回值是true }return 0;
}

nyoj 366 D的小L(数的全排)相关推荐

  1. NYOJ 366 D的小L

    地址:http://acm.nyist.net/JudgeOnline/problem.php?pid=366 方法:用next_permutation(pɝmjʊ'teʃə)来求解,递归调用代码 1 ...

  2. NYOJ D的小L 酒馆浪人的博客

    D的小L 时间限制: 4000 ms  |  内存限制: 65535 KB 难度: 2 描述 一天TC的匡匡找ACM的小L玩三国杀,但是这会小L忙着哩,不想和匡匡玩但又怕匡匡生气,这时小L给匡匡出了个 ...

  3. (寻找第K小的数amp;amp;寻找第K小的数的和)

    这一篇博客以一些OJ上的题目为载体,讲一下寻找第K小的数的方法 方法一: 先将数据排列好,然后,然后return a[k]或者将前K个数加起来 方法二: 基于高速排序.如,一次高速排序将某一个数放到了 ...

  4. 【代码源 Div1 - 108】#464. 数数(主席树,区间比k小的数的个数)HDU4417

    problem solution 主席树查询区间比k小的数的个数 建树之后直接在目标区间的主席树内将 H 作为挡板递归计数. #include<bits/stdc++.h> using n ...

  5. 1526: 小L的项链切割

    原题链接:http://acm.zzuli.edu.cn/problem.php?id=1526 1526: 小L的项链切割 时间限制: 1 Sec  内存限制: 128 MB 题目描述 小T送给了小 ...

  6. 不定期备考小tips[数模][0] #20210529

    不定期备考小tips[数模][0] #20210529 边值问题 S-L微分方程中两种内积的理解 一种内积:(u,v)=∫uvdx(u,v)=\int uvdx(u,v)=∫uvdx 另一种内积:(u ...

  7. 13.在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组的小和。求一个数组的小和。(左神算法基础班源码)

    package basic_class_01; /*** *小和问题在一个数组中,每一个数左边比当前数小的数累加起来,叫做这个数组的小和.求一个数组的小和.例子:[1,3,4,2,5]1左边比1小的数 ...

  8. 分而治之策略-第m小的数(c++、java、python)

    第m小的数 问题 分析 代码 问题 给定一个无重复元素的无序数组,求其第m小的元素. 如:{1,5,3,6,2,8,5} 求其第3小的元素 答案:3 分析 直观可以考虑通过对数组进行排序求解,而基于排 ...

  9. 第K小的数BFPRT算法

    介绍 BFPRT是解决求一个数组中第K小的数的算法,可以时间O(N)的时间复杂度,而使用排序求第K小的数的算法的时间复杂度为O(NlogN),因此BFPRT算法更加高效 思想 (1)分组:将原数组每五 ...

  10. 小L的项链切割(dp)

    题解: dp[i]表示前i+1个字符切割需要的最少次数      for(int i=0;i<l;i++)         {             dp[i]=huiwen(s.substr ...

最新文章

  1. 修改nginx服务器类型
  2. ubuntu连有线网 无法连接外网
  3. mfp 服务器控制中心,小身材大作用 固网USB打印服务器评测
  4. SQLServer锁的机制
  5. LInux学习笔记(四)-----实操排雷
  6. Redis 快速搭建与使用
  7. 163相册密码破解 - 简单版
  8. Spring之ApplicationContextAware接口详解
  9. 玩具车c语言控制程序,蓝宙电子:八岁的小朋友可以这样编程控制小汽车-汽车电子-与非网...
  10. .NET环境下几种不同的邮件发送解决方案
  11. 第 22 章 备忘录模式
  12. XidianOJ 1175: count
  13. Android 自定义View可拖动移动位置及边缘拉伸放大缩小
  14. 快速对二叉树和前中后序遍历的相互转化
  15. 推荐oracle exadata,Exadata的一些常见误区
  16. 手动制作一个QQ群机器人
  17. 【新知实验室】TRTC这么简单的demo快来试试吧
  18. 简体中文旗舰版Windows7SP1
  19. 以创新精神,重塑业务流程
  20. Android在Manifest里的权限配置

热门文章

  1. Jzoj5444【NOIP2017提高A组冲刺11.2】救赎
  2. pack_padded_sequence torch说明
  3. context deadline exceeded
  4. lonlife oj 1029 - Bob and Alice are playing factors
  5. 北京林业大学计算机考研录取分数线,北京林业大学信息学院计算机技术(专业学位)专业考研招生人数 考研报录比 考研复试分数线 考研辅导.pdf...
  6. Unity打包篇:关于MMD模型贴画在安卓手机上无法显示的问题。
  7. GameFramework篇:打包需知
  8. 【​观察】六脉神剑第一式-高效之唯快不破
  9. win10家庭版调出组策略_普通用户选择哪个Win10系统版本?家庭版与专业版的对比介绍...
  10. php网络编程socket通讯