hpu-1690-CZY的组合数烦恼

简介: hpu-1690-CZY的组合数烦恼


题目描述

czy最近对组合数产生了浓厚的兴趣,一天他心血来潮,想排n个数字,但是很快他发现种类太多了,于是他决定从中随机找出m个数排,但还是太多了,所以他想请聪明的你写个程序帮助他找到所有种类的排列

输入

输入包括多组测试数据,每组包括一行整数n(1<=n<10),m(1<=m<=n),空格间隔

输出

按特定顺序输出所有组合。

特定顺序:每一个组合中的值从大到小排列,组合之间按逆字典序排列。

样例输入

5 3

样例输出

543

542

541

532

531

521

432

431

421

321


题目分析:

还是全排列问题就是在控制排列的方式不一样

     点击这里   看看这个从小到大排列   和这个有什么区别  本博客另一个全排列问题可以参考一下

#include<cstdio>
#include<cstring>
#define INF 0xfffffff
int mark[20],a[20],arr[20];
int n,m;
void dfs(int v)
{
  if(v>m)  //  这里控制输出多少位
  {
    for(int i=1;i<=m;i++)
    printf("%d",a[i]);
    printf("\n");
    return ;
  }
  else
  {
    for(int i=n;i>=1;i--)
    {
      a[v]=i;//   和从小到大的主要区别就在这  那个是把这个放到if语句里面的  这个是先赋值后判断
      if(!mark[i]&&a[v]<a[v-1])
      {
        mark[i]=1;
        dfs(v+1);
        mark[i]=0;
      }
    }
  }
}
int main()
{
  while(~scanf("%d%d",&n,&m))
  {
    memset(mark,0,sizeof(mark));
    a[0]=INF;
    dfs(1);
  }
  return 0;
}





目录
相关文章
|
芯片 SoC
FinFET工作原理、结构和应用特性介绍
FinFET的全称是Fin Field-Effect Transistor。它是一种新型互补金属氧化物半导体晶体管。FinFET 的名称是基于晶体管和鳍片形状的相似性。
14254 0
FinFET工作原理、结构和应用特性介绍
|
算法 分布式数据库 分布式计算
|
机器学习/深度学习 缓存 并行计算
NVIDIA Tesla GPU系列P4、T4、P40以及V100参数性能对比
NVIDIA Tesla系列GPU适用于高性能计算(HPC)、深度学习等超大规模数据计算,Tesla系列GPU能够处理解析PB级的数据,速度比使用传统CPU快几个数量级,NVIDIA Tesla GPU系列P4、T4、P40以及V100是Tesla GPU系列的明星产品,云服务器吧分享NVIDIA.
83394 1
|
机器学习/深度学习 并行计算 流计算
【GPU】GPU CUDA 编程的基本原理是什么?
【GPU】GPU CUDA 编程的基本原理是什么?
323 0
|
机器学习/深度学习
大模型中的Scaling Law是什么?
【2月更文挑战第9天】大模型中的Scaling Law是什么?
17089 3
大模型中的Scaling Law是什么?
|
设计模式 JSON 算法
内存抖动
内存抖动
179 3
|
存储 缓存 数据处理
缓存与缓冲区的区别
在计算机科学中,缓存(Cache)和缓冲区(Buffer)是两个常见的概念。尽管它们的功能有些相似,但它们在实际应用中具有不同的用途和工作原理。本文将介绍缓存和缓冲区之间的区别。
943 0
|
SQL 人工智能 算法
识别和应对内存抖动
内存抖动是指内存不稳定,频繁分配和回收,导致内存不稳定,其表现形式为频繁GC,
|
PyTorch 算法框架/工具
pytorch中torch.where()使用方法
pytorch中torch.where()使用方法
1015 0
|
机器学习/深度学习 人工智能 弹性计算
软硬件协同优化,平头哥玄铁斩获MLPerf四项第一
在4月7日发布的全球权威AI基准测试榜单MLPerf Tiny中,基于平头哥玄铁RISC-V C906处理器的软硬件联合优化方案,取得了全部4个指标的第一。
626 0
软硬件协同优化,平头哥玄铁斩获MLPerf四项第一