当前位置: 首页 > java >正文

b. 组合数

题目描述

有 nn (1≤n<10)(1≤n<10) 个升序排序的互不相同的数 aiai​,求出:从中任取 rr (0<r≤n)(0<r≤n) 个数的所有组合情况。

输入格式

第一行输入 nn 、rr 。

第二行 nn 个正整数 aiai​ (1≤ai≤100)(1≤ai​≤100) 。

输出格式

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

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

输入、输出要求

要求使用「文件输入、输出」的方式解题,输入文件为 combine.in ,输出文件为 combine.out

代码上:

#include<bits/stdc++.h>
using namespace std;
int n,k;
int ans[105],p[105];
void dfs(int x,int sum){if(x>=n){if(sum==k){for(int i=0;i<k;i++){cout<<p[n-ans[i]]<<" ";}cout<<'\n';}return;}ans[sum]=x+1;dfs(x+1,sum+1);ans[sum]=0;dfs(x+1,sum);
}
int main(){freopen("combine.in", "r", stdin);freopen("combine.out", "w", stdout);cin>>n>>k;for(int i=0;i<n;i++){cin>>p[i];}dfs(0,0);return 0;
}

http://www.xdnf.cn/news/10281.html

相关文章:

  • 第3节 Node.js 创建第一个应用
  • 六.MySQL增删查改
  • JWT 入门
  • 利用nginx完成iframe请求的身份认证
  • 【NLP 78、手搓Transformer模型结构】
  • Namespace 命名空间的使用
  • (7)-Fiddler抓包-Fiddler状态面板-QuickExec命令行
  • 项目日记 -Qt音乐播放器 -搜索模块
  • 如何手搓扫雷(待扩展)
  • pytest中的元类思想与实战应用
  • C++基础算法————贪心
  • Kafka 如何保证不重复消费
  • Linux搭建DNS服务器
  • BLE协议全景图:从0开始理解低功耗蓝牙
  • 堆与堆排序及 Top-K 问题解析:从原理到实践
  • 玩客云WS1608控制LED灯的颜色
  • 光电设计大赛智能车激光对抗方案分享:低成本高效备赛攻略
  • C 语言栈实现详解:从原理到动态扩容与工程化应用(含顺序/链式对比、函数调用栈、表达式求值等)
  • python连接邮箱的协议选择
  • C语言结构体的别名与创建结构体变量
  • jetpack compose 界面刷新的几种方式 如何避免无效的界面刷新
  • Remote Sensing投稿记录(投稿邮箱写错、申请大修延期...)风雨波折投稿路
  • Adobe Acrobat 9.1.2 Pro (install)
  • 电路图识图基础知识-常用仪表识图及接线(九)
  • 特征图可视化代码
  • 数据库核心技术深度剖析:事务、索引、锁与SQL优化实战指南(第四节)----从行级锁到死锁处理的系统梳理
  • WIN11+CUDA11.8+VS2019配置BundleFusion
  • Linux之MySQL安装篇
  • Redis主从复制详解
  • 扫一扫的时候会经历哪些事