zoukankan      html  css  js  c++  java
  • 全排列 next_permutation()函数

    擅长排列的小明

    时间限制:1000 ms  |  内存限制:65535 KB
    难度:4
    描述
    小明十分聪明,而且十分擅长排列计算。比如给小明一个数字5,他能立刻给出1-5按字典序的全排列,如果你想为难他,在这5个数字中选出几个数字让他继续全排列,那么你就错了,他同样的很擅长。现在需要你写一个程序来验证擅长排列的小明到底对不对。
    输入
    第一行输入整数N(1<N<10)表示多少组测试数据,
    每组测试数据第一行两个整数 n m (1<n<9,0<m<=n)
    输出
    在1-n中选取m个字符进行全排列,按字典序全部输出,每种排列占一行,每组数据间不需分界。如样例
    样例输入
    2
    3 1
    4 2
    样例输出
    1
    2
    3
    12
    13
    14
    21
    23
    24
    31
    32
    34
    41
    42
    43
    
    
    只是next_permutation()的简单应用而已
    #include<stdio.h>
    #include<algorithm>
    #include<iterator>
    using namespace std;
    int main()
    {
    	int n,M,N;
    	
    	int last[10]={0};
    	scanf("%d",&n);
    	while(n--)
    	{
    		int a[10]={1,2,3,4,5,6,7,8,9};
    		scanf("%d%d",&M,&N);
    		do
    		{
    			if(!equal(a,a+N,last))
    			{
    				copy(a,a+N,last);
    				for(int i=0;i!=N;i++)//额,这里只需要输出前N个数字就可以了
    				{
    					printf("%d",a[i]);
    				}
    				puts("");
    			}
    		}while(next_permutation(a,a+M));
    	}
    } 
    
  • 相关阅读:
    Centos6.7 编译安装 MySQL教程
    python os os.path模块学习笔记
    Ubuntu无线转有线教程
    k8s 部署kube-dns
    k8s-应用快速入门(ma)
    kubectl工具管理应用生命周期
    k8s-部署WEB-UI(dashboard)
    k8s-集群状态及部署一个实例
    k8s-创建node节点kubeconfig配置文件
    k8s-flannel容器集群网络部署
  • 原文地址:https://www.cnblogs.com/nanke/p/2048566.html
Copyright © 2011-2022 走看看