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

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;
}

相关文章:

  • C++:参数传递方法(Parameter Passing Methods)
  • 用户认证的魔法配方:从模型设计到密码安全的奇幻之旅
  • HackMyVM-First
  • Linux【工具 04】Java等常用工具的多版本管理工具SDKMAN安装使用实例
  • SpringBoot整合MyBatis完整实践指南
  • Android任务栈管理策略总结
  • # CppCon 2014 学习: Quick game development with C++11/C++14
  • 构建多模型协同的Ollama智能对话系统
  • WEB3——为什么做NFT铸造平台?
  • 2025.5.29 学习日记 docker概念以及基本指令
  • 算法:滑动窗口
  • MySQL项目实战演练:搭建用户管理系统的完整数据库结构【MySQL系列】
  • 如何实现一个请求库?【面试场景题】
  • 牛客小白月赛117
  • 实施ESOP投入收益研究报告
  • 趋势直线指标
  • C语言学习——C语言强制类型转换2023.12.20
  • 【Java学习笔记】内部类(重点)
  • 最小二乘准则例题
  • 22睿抗省赛真题
  • 宁波外贸公司排名前十/seo顾问服务咨询
  • html网站要怎么做/cpm广告联盟平台
  • 如何创办网站/南宁关键词优化服务
  • 京东联盟网站推广位怎么做/搜索引擎营销的原理
  • 电子商务网站建设报告/石家庄seo优化
  • 聊城做网站的公司教程/百度开户渠道