Combination(n,m)

目录

描述

输入

输出

样例输入

样例输出


描述

input a string(no more than 10characters),select m char from the string,output the permutation characters in lexicographic order.

输入

input a string,and integer m; m less then the length of the string. if m=0, output nothing ,and you can input another string

输出

output the permutation strings in lexicographic order.

样例输入
123
1
2
3
0
样例输出
1
2
3
12
13
23
123

思路

题意是给我们一个字符串s,给你整数m,将s分成长度为m的子串,注意这题不是全排列,而是组合数,那我们要用到递归思想

#define _CRT_SECURE_NO_WARNINGS 1
#include<iostream>
#include<vector>
using namespace std;
void Combination(string input, int start, int r, string ans, vector<string>& result) {//r代表所截取的字符串长度,ans代表正在构建的组合if (r == 0) {result.emplace_back(ans);return;}for (int i = start; i <= input.length() - r; i++) {ans.push_back(input[i]);Combination(input, i + 1, r - 1, ans, result);//递归调用取出m个字符的组合ans.pop_back();//删除字符串最后一个元素}
}
vector<string> getCombinations(string input, int m) {vector<string> result;Combination(input, 0, m, "", result);return result;
}
int main() {string input;while (cin >> input) {int m;vector<string> combinations;while (cin >> m && m) {combinations = getCombinations(input, m);for (auto s : combinations) cout << s << endl;combinations.clear();}}return 0;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/743178.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MERGE Into 的用法在ORACLE和高斯数据库上的差异

1.什么是MERGE Into MERGE INTO 是 SQL 中的一个语句&#xff0c;它用于将两个表的数据合并起来。如果记录已经存在&#xff0c;则更新该记录&#xff1b;如果记录不存在&#xff0c;则插入新记录。这种操作也被称为“upsert”&#xff08;更新插入&#xff09;。MERGE INTO …

Android Studio入门——页面跳转

1.工程目录 2.MainActivity package com.example.demo01;import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.TextView;import androidx.appcompat.app.AppCompatActivity;public class MainActivity extends AppCo…

如何处理Android悬浮弹窗双击返回事件?

目录 1 前言 1.1 准备知识 1.2 问题概述 2 解决方案 3 代码部分 3.1 动态更新窗口焦点 3.2 窗口监听返回事件 3.3 判断焦点是否在窗口内部 3.4 窗口监听焦点移入/移出 1 前言 1.1 准备知识 1&#xff09;开发环境&#xff1a; 2D开发环境&#xff1a;所有界面或弹窗…

C语言-预处理指令-#ifdef xx #endif-用于检查宏是否被定义

文章目录 问题一&#xff1a;请你描述#ifdef XX #ifdef 语法和 #ifndef XX #endif 语法&#xff1f;&#xff08;区别:n&#xff09;ifdef 基本语法&#xff1a;ifndef基本语法&#xff1a; 问题二&#xff1a;阅读下面代码&#xff0c;看逻辑问题二输出&#xff1a; 问题三&am…

突破编程_C++_C++11新特性(模板的改进与细节)

1 模板右尖括号的改进 在 C11 之前&#xff0c;模板的解析和实例化过程中&#xff0c;右尖括号 > 的处理有时会导致一些意外的结果&#xff0c;特别是在嵌套模板或模板模板参数中。这是因为 C 编译器通常会试图“查看前方”来确定何时结束模板参数的列表&#xff0c;这有时…

【python】anaconda安装过程

【运行环境】Windows11 文章目录 一、anaconda下载二、anaconda安装三、环境变量配置四、测试环境变量是否配置成功五、总结 一、anaconda下载 1、输入网址“https://www.anaconda.com”进入Anaconda官网。 2、找到【Free Download】点击进入&#xff1a; 3、点击对应系统的…

Redis到底是单线程还是多线程!,【工作感悟】

无论你是做 Python&#xff0c;PHP&#xff0c;JAVA&#xff0c;Go 还是 C#&#xff0c;Ruby 开发的&#xff0c;都离不开使用 Redis。 大部分程序员同学工作中都有用到 Redis&#xff0c;但是只限于会简单的使用&#xff0c;对Redis缺乏整体的认知。 无论是在大厂还是在中小…

数据结构 day2

1:思维导图 2&#xff1a;计算结构体大小 3&#xff1a;大小端存储 &#xff08;1&#xff09;&#xff1a;数据溢出 1 #include <stdio.h>2 #include <string.h>3 #include <stdlib.h>4 int main(int argc, const char *argv[])5 {6 short a 0x1234;…

中国金融统计年鉴、中国保险统计年鉴、中国人口与就业统计年鉴、国民经济和社会发展公报、中国劳动统计年鉴

数据下载链接&#xff1a;百度云下载链接 统计年鉴是指以统计图表和分析说明为主&#xff0c;通过高度密集的统计数据来全面、系统、连续地记录年度经济、社会等各方面发展情况的大型工具书来获取统计数据资料。 统计年鉴是进行各项经济、社会研究的必要前提。而借助于统计年…

一文讲懂 C++ 类和对象(1)

0. 面向过程程序设计和面向对象程序设计的区别 面向对象程序设计往往关注的是怎么去做&#xff0c;是将解决问题的步骤分析出来&#xff0c;然后用函数把步骤一步一步实现&#xff0c;然后再依次调用就可以了。而面向对象是将构成问题的事物&#xff0c;分解成若干个对象&…

Windows达梦数据库(下载及使用)

解压安装包 点击最后一个文件 下一步 接受 下一步 下一步 下一步 点击初始化 开始

Oracle 10g字符编码

pl/sql developer查询数据时出现乱码&#xff0c;主要检查如下&#xff1a; 1、检查服务器编码 select * from v$nls_parameters;select * from nls_database_parameters;select userenv(language) from dual; 2、查看数据库可用字符集参数设置 select * from v$nls_valid_val…

Spring Cloud项目整合Sentinel及简单使用

说明&#xff1a;Sentinel是阿里巴巴开发的微服务治理中间件&#xff0c;可用于微服之间请求的流量管控、权限控制、熔断降级等场景。本文介绍如何在Spring Cloud项目中整合Sentinel&#xff0c;以及Sentinel的简单使用。 环境 首先搭建一个简单的微服务环境&#xff0c;有以…

编程向导-JavaScript-基础语法-块语句

梦里繁花落尽&#xff0c;此情未央&#xff0c;此意难忘&#xff0c;弦虽断&#xff0c;曲犹扬。&#xff01; 与技术共同呼吸&#xff0c;与程序员共命运。世树科技 承“技驱动&#xff0c;理致胜”理念、国风编程。 块语句 块语句&#xff08;Block&#xff09;用于组合零…

深度学习系列62:Agent入门

1 anget介绍和openai标准接口 agent的核心是其代理协同工作的能力。每个代理都有其特定的能力和角色&#xff0c;你需要定义代理之间的互动行为&#xff0c;即当一个代理从另一个代理收到消息时该如何回复。 agent目前大多使用openai标准接口调用LLM服务&#xff0c;说明如下。…

XmlHttpRequest responseType: ‘stream‘ 图片代理服务器

它是一个存在于原生 XMLHttpRequest 对象中的属性。在 Web API 中&#xff0c;XMLHttpRequest 对象用于发送 HTTP 或 HTTPS 请求到服务器&#xff0c;并接收响应。responseType 属性就是用来指定预期从服务器返回的响应数据的类型。 默认值 responseType的默认值为json&#x…

Netty线程模型详解

文章目录 概述单Reactor单线程模型单Reactor多线程模型主从Reactor多线程模型 概述 Netty的线程模型采用了Reactor模式&#xff0c;即一个或多个EventLoop轮询各自的任务队列&#xff0c;当发现有任务时&#xff0c;就处理它们。Netty支持单线程模型、多线程模型和混合线程模型…

linux内建命令/内部命令之caller

1.caller介绍 linux内建命令caller是用来打印函数的调用者信息&#xff0c;需将其放入到函数中才能生效。 2.样例 [rootelasticsearch ~]# cat caller.sh #!/bin/bashfunction1 () {caller 0 }function1 #line 8 [rootelasticsearch ~]# sh caller.sh 8 main caller.sh…

程序员的三重境界:码农,高级码农、程序员!

见字如面&#xff0c;我是军哥&#xff01; 掐指一算&#xff0c;我在 IT 行业摸爬滚打 19 年了&#xff0c;见过的程序员至少大好几千&#xff0c;然后真正能称上程序员不到 10% &#xff0c;绝大部分都是高级码农而已。 今天和你聊聊程序员的三个境界的差异&#xff0c;文章不…

DETR Doesn’t Need Multi-Scale or Locality Design

论文名称&#xff1a;PlainDetr 发表时间&#xff1a;ICCV2023 开源代码 作者及组织&#xff1a; Yutong Lin,Yuhui Yuan等&#xff0c;来自西安交大&#xff0c;微软亚洲研究院。 前言 自Detr以来&#xff0c;后续paper的改进的方向&#xff1a;主要是将归纳偏置重新又引入进…