26. 分组

★   输入文件:dataa.in   输出文件:dataa.out   简单对比
时间限制:1 s   内存限制:128 MB【问题描述】

现有 n 个学生, 要分成X1 ,X2 ,...,Xm ,共 m 组(m<=n, X1 ,X2 ,...,Xm 分别表示每组的学生人数),要求对于所有的i < j,Xi <= Xj ,共有多少种分组方案,求出分组方案。

【输入格式】

输入文件:dataa.in

只有一行:两个整数n,m(1<=n<=20 1<m<=10)

【输出格式】

输出文件:dataa.out

输出若干行,第一行是一个整数,表示分组方案数量.下面每行为一种分组方案,按字典序分组输出,每行的数与数之间用一个空格隔开。

【输入样例】

输入文件名: dataa.in

6 3

输出文件名: dataa.out


1 1 4 
1 2 3 
2 2 2

思路:爆搜可过。

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
int m,n,sum,ans;
int a[];
int anss[][] ;
void dfs(int sub){
if(sub==n+&&sum==m){
ans++;
for(int i=;i<=n;i++)
anss[ans][i]=a[i];
return ;
}
if(sub==n+&&sum!=m) return;
for(int i=a[sub-];i<=m;i++){
sum=sum+i;
a[sub++]=i;
dfs(sub);
sub--;
sum=sum-i;
}
}
int main(){
freopen("dataa.in","r",stdin);
freopen("dataa.out","w",stdout);
scanf("%d%d",&m,&n);
a[]=;
dfs();
cout<<ans<<endl;
for(int i=;i<=ans;i++){
for(int j=;j<=n;j++)
cout<<anss[i][j]<<" ";
cout<<endl;
}
return ;
}

cogs 26. 分组的更多相关文章

  1. elasticsearch 基础 语法总结

    1. es 使用 restful 风格的 api 备注: es 的 api  格式  基本是这个样     请求方式    /索引名/文档名/id?参数   ,但是 还有 很多不是这样的 请求,比如 ...

  2. mysql--笔记1

    今日内容介绍1.MySQL数据库2.SQL语句=========================================================1 数据库概念 1.1: 什么是数据库 ...

  3. SQL Server 动态行转列(参数化表名、分组列、行转列字段、字段值)

    一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 实现代码(SQL Codes) 方法一:使用拼接SQL,静态列字段: 方法二:使用拼接SQL, ...

  4. C#开发微信门户及应用(26)-公众号微信素材管理

    微信公众号最新修改了素材的管理模式,提供了两类素材的管理:临时素材和永久素材的管理,原先的素材管理就是临时素材管理,永久素材可以永久保留在微信服务器上,微信素材可以在上传后,进行图片文件或者图文消息的 ...

  5. 按年、季度、月分组&&计算日期和时间的函数

    Mysql 按年.季度.月分组 按月度分组: select DATE_FORMAT(i.created_at, '%Y-%m月')...................GROUP BY DATE_FO ...

  6. 扩展GridView控件——为内容项添加拖放及分组功能

    引言 相信大家对GridView都不陌生,是非常有用的控件,用于平铺有序的显示多个内容项.打开任何WinRT应用或者是微软合作商的网站,都会在APP中发现GridView的使用.“Tiles”提供了一 ...

  7. iOS 注释的5要3不要和编码规范的26个方面

    注释 代码注释,可以说是比代码本身更重要.这里有一些方法可以确保你写在代码中的注释是友好的: 不要重复阅读者已经知道的内容 能明确说明代码是做什么的注释对我们是没有帮助的. // If the col ...

  8. python实现简易数据库之三——join多表连接和group by分组

    上一篇里面我们实现了单表查询和top N查询,这一篇我们来讲述如何实现多表连接和group by分组. 一.多表连接 多表连接的时间是数据库一个非常耗时的操作,因为连接的时间复杂度是M*N(M,N是要 ...

  9. Linq分组功能

    Linq在集合操作上很方便,很多语法都借鉴自sql,但linq的分组却与sql有一定的区别,故整理发布如下. 1.  Linq分组 分组后以Key属性访问分组键值. 每一组为一个IEnumberAbl ...

随机推荐

  1. 小贝_mysql select5种子句介绍

    mysql select5种子句介绍 简要 一.五种字句 二.具体解释五种字句 一.五种字句 where.group by.having.order by.limit 二.具体解释五种字句 2.1.理 ...

  2. Constructor call must be the first statement in a constructor

    super()和this ()不能共存.否则编译时会报异常. Constructorcall must be the first statement in a constructor 换句话说就是su ...

  3. php使用flock堵塞写入文件和非堵塞写入文件

    php使用flock堵塞写入文件和非堵塞写入文件 堵塞写入代码:(全部程序会等待上次程序运行结束才会运行,30秒会超时) <?php $file = fopen("test.txt&q ...

  4. Asp.Net 中使用 水晶报表(上)

    Asp.Net中使用水晶报表(上) 在我们对VS.Net中的水晶报表(Crystal Reports)进行研究之前,我和我朋友对如何将这个复杂的东东加入我们的Web应用有着非常的好奇心.一周以后,在阅 ...

  5. ubuntu重启网络报错

    执行:gw@ubuntu:/$ /etc/init.d/networking restart 报错:stop: Rejected send message, 1 matched rules; type ...

  6. 在Ubuntu上创建一个可以启动的U盘

    1.概观 使用可启动的Ubuntu USB盘,您可以: 安装或升级Ubuntu 在不触及PC配置的情况下测试Ubuntu桌面体验 在借来的机器或网吧上启动到Ubuntu 使用USB盘上默认安装的工具来 ...

  7. javascript--记忆函数

    function memory(val) { if(!memory.cached) {//判断是否创建了缓存 memory.cached = {}; } if(memory.cached[val] ! ...

  8. 关于 nginx 的配置的 location

    精准匹配和普通匹配:    server{            location =/index.htm{                                       ////精准匹 ...

  9. 紫书 例题 10-24 UVa 1641(面积计算)

    遍历一遍,遇到边界为奇数次时,格子在多边形内 偶数次时,在多边形外 #include<cstdio> #define REP(i, a, b) for(int i = (a); i < ...

  10. ArcGIS api for javascript——鼠标悬停时显示信息窗口

    描述 本例展示当用户在要素上悬停鼠标时如何显示InfoWindow.本例中,要素是查询USA州图层的QueryTask的查询结果.工作流程如下: 1.用户单击一个要素 2.要素是“加亮的”图形. 3. ...