dfs的几个基础示例 acwin 91~94
从 ~n 这 n 个整数中随机选取任意多个,输出所有可能的选择方案。 输入格式
输入一个整数n。 输出格式
每行输出一种方案。 同一行内的数必须升序排列,相邻两个数用恰好1个空格隔开。 对于没有选任何数的方案,输出空行。 本题有自定义校验器(SPJ),各行(不同方案)之间的顺序任意。 数据范围
≤n≤
输入样例: 输出样例:
#include <iostream>
#include <vector> using namespace std; vector<int> result;
vector<int> v;
int n; void dfs(int i)
{
if(i == n){
for(auto& e:result){
cout << e << ' ';
}
cout <<endl;
return;
} result.push_back(v[i]);
dfs(i+);
result.pop_back(); dfs(i+); } int main()
{ cin >> n;
for(int i= ;i <=n;i++){
v.push_back(i);
} dfs(); return ;
}
从 ~n 这 n 个整数中随机选出 m 个,输出所有可能的选择方案。 输入格式
两个整数 n,m ,在同一行用空格隔开。 输出格式
按照从小到大的顺序输出所有方案,每行1个。 首先,同一行内的数升序排列,相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面(例如1 7排在1 8前面)。 数据范围
n> ,
≤m≤n ,
n+(n−m)≤
输入样例: 输出样例:
#include <iostream>
#include <vector> using namespace std; int n ,m;
vector<int> result;
vector<int> v; void dfs(int i){
if(result.size() == m){
for(auto& e:result){
cout << e << ' ';
}
cout <<endl;
return;
}else if(i == n){
return;
} result.push_back(v[i]);
dfs(i+);
result.pop_back(); dfs(i+);
} int main()
{
cin >> n >> m;
for(int i = ;i <= n;i++){
v.push_back(i);
} dfs();
}
把 ~n 这 n 个整数排成一行后随机打乱顺序,输出所有可能的次序。 输入格式
一个整数n。 输出格式
按照从小到大的顺序输出所有方案,每行1个。 首先,同一行相邻两个数用一个空格隔开。 其次,对于两个不同的行,对应下标的数一一比较,字典序较小的排在前面。 数据范围
≤n≤
输入样例: 输出样例:
#include <iostream>
#include <vector> using namespace std; vector<int> v; int n ; void dfs(int i, vector<int>& result){
if(i== n){
for(auto& e:result){
cout << e << ' ';
}
cout <<endl;
return;
} for(int j = ; j < v.size();j++){
if(v[j] != ){
result[i] = v[j];
v[j] = ;
dfs(i+,result);
v[j] = result[i] ;
}
}
} int main()
{
cin >> n;
for(int i= ; i<=n;i++){
v.push_back(i);
}
vector<int> result(n,); dfs(,result); return ;
}
dfs的几个基础示例 acwin 91~94的更多相关文章
- Membership三步曲之入门篇 - Membership基础示例
Membership 三步曲之入门篇 - Membership基础示例 Membership三步曲之入门篇 - Membership基础示例 Membership三步曲之进阶篇 - 深入剖析Pro ...
- [转]Membership三步曲之入门篇 - Membership基础示例
本文转自:http://www.cnblogs.com/jesse2013/p/membership.html Membership三步曲之入门篇 - Membership基础示例 Members ...
- flex基础示例
flex的一些基础用法: <!-- Flex布局已经得到了所有浏览器的支持:chrome21+.Opera12.1+.Firefox22+.safari6.1+.IE10+ Webkit内核浏览 ...
- 一、JDBC基础示例
一.简介 JDBC全称叫做Java database connectivity,直译为Java语言的数据库连接.它主要针对于支持结构化查询语言(SQL)的数据源,与Java程序连接并操作数据. JDB ...
- 一个简单且丑陋的js切换背景图片基础示例
不多说,直接上代码,非常基础的一个原生js切换元素背景图片范例 <html> <head> <meta http-equiv="Content-Type&quo ...
- Vue.js 基础示例
为 Vue.js 初学者写了一些简单的示例,在线示例 示例源码 了解更多请查看 Vue.js 官网文档:http://vuejs.org.cn/guide/
- Java基础知识强化91:DateFormat类之DateFormat实现日期和字符串的相互转换
1. DateFormat类概述: DateFormat 是日期/时间格式化子类的抽象类,它以与语言无关的方式格式化并解析日期或时间. 是抽象类,所以使用其子类SimpleDateFormat 2. ...
- socket基础示例(一)
//Socket基本编程 //服务端: using System.Net; using System.Net.Sockets; using System.Text; using System.Thre ...
- .NET反编译之Reflector基础示例
这几日由于公司需要, 看了些.NET反编译技巧,特地和大家分享下 .NET反编译工具很多,Reflector是其中一个很优秀的工具,所以就用它来进行反编译工作了.今天我们就用"繁星代码生成器 ...
随机推荐
- .NET 的未来:.NET 5
前言 不知不觉中,.NET Framework 已经更新到 4.8,.NET Core 也更新到了 3.0 版本.那么 .NET 的未来怎么样呢? 计划 2019 年 Build 大会上,微软宣布下一 ...
- php配置文件说明
php-fpm.conf是PHP-FPM进程管理器的配置文件: php.ini是PHP解析器的配置文件: www.conf是php.ini的扩展文件
- spring单元测试下模拟rabbitmq
gradle添加引用 compile 'org.springframework.boot:spring-boot-starter-amqp' testCompile 'com.github.fridu ...
- Laravel实现大型商城网站之用户注册短信发送项目实战功能开发
确定短信运营商 我这里采用的云片,不过大家使用其它的也可以. 首先自己注册一个帐号,然后找到这个 点击开始接入,完成新手引导过程. 第二部的签名和模板必须填写,类似我下面填写的这样 值得注意的是这个模 ...
- MyBatis映射文件 相关操作
一.MyBatis映射文件 1.简介 MyBatis 的真正强大在于它的映射语句,也是它的魔力所在.由于它的异常强大,映射器的 XML 文件就显得相对简单.如果拿它跟具有相同功能的 JDBC 代码进行 ...
- MySQL 字符串分隔成行&子串统计
利用help_topic表把字符串转换成行(分隔符号',') ),) as `id` FROM mysql.`help_topic`; 统计字符串每个子串出现次数(分隔符号',') ),) AS `s ...
- ES6-WeakSet数组结构
WeakSet 也会去重 总结: 1.成员都是对象: 2.成员都是弱引用,可以被垃圾回收机制回收,可以用来保存 DOM 节点,不容易造成内存泄漏: 3.不能遍历,方法有 add.delete.has. ...
- Android五大布局详解——GridLayout(网格布局)
GridLayout 本章以一个小的实现示例讲述: 实现效果如图: 代码实现: <?xml version="1.0" encoding="utf-8"? ...
- sqlserver 筛选索引(filter index)在使用时需要注意的事项
sqlserver 的筛选索引(filter index)与常规的非筛选索引,加了一定的filter条件,可以按照某些条件对表中的字段进行索引,但是filter 索引在查询 使用上,并不等同于常规的索 ...
- SQL Server重建索引与重组索引会更新统计信息吗?
在SQL Server中重建索引(Rebuild Index)与重组索引(Reorganize Index)会触发统计信息更新吗? 那么我们先来测试.验证一下: 我们以AdventureWorks20 ...