洛谷 U6931 灯光
题目背景
明天就是校园活动了,小明作为场地的负责人,将一切都布置好了。但是在活动的前几天,校园里的灯却都坏掉了,无奈之下,只好再去买一批灯。但是很遗憾的是,厂家看马上要过年了,就没有在进货了,现在只剩下n个发光值不同的灯,作为负责人,你需要,想办法配出合适的灯。
题目描述
厂家有n盏剩下的灯,小明需要m盏灯,因为活动举办在晚上,所以这些灯的光值和不能低于k,现在小明想知道,有多少种选灯的方案,以及每种方案选出的m盏灯。
输入输出格式
输入格式:
共n+1行,第一行有三个整数:n,m,k,表示厂家有n盏(灯),小明需要m盏,从n盏中选的m盏的光线和不能小于k。
接下来的1行,共n个整数,第i个数表示第i盏灯的发光值。
输出格式:
先输出一个整数,表示方案数,接下来的几行,每行m+1个数,前m个数表示每个方案选择的灯的序号,第m+1个数表示这个方案的光值和。
如果没有方案,第一行就输出-1,第二行输出最大的光亮值。
输入输出样例
3 2 5
1 3 2
1
2 3 5
4 2 7
2 5 3 1
2
1 2 7
2 3 8
5 2 5
2 2 2 2 2
-1
4
说明
- 数据说明
3<=m<=n<=20;
1<=k<=a[1]+a[2]...+a[n];
样例就自己看哈~。
输出用序号排序
题目大意:有n个灯,选m个,要求选的m个灯的光值和大于k,求方案数及每个方案。
题解:搜索...
刚开始提交30分...思考人生.....
后来发现没有输出方案数...改了就A了...蠢哭....
代码:
#include<iostream>
#include<cstdio>
#include<cstring>
#include<vector>
using namespace std; int n,m,k,flag,max_ans,bo[],ans[];
vector<int>res[]; void dfs(int now,int has,int sum){
if(has==m){
if(sum>=k){
flag++;
for(int i=;i<=m;i++)
res[flag].push_back(ans[i]);
res[flag].push_back(sum);
}else{
max_ans=max(max_ans,sum);
}
return;
}
if(now==n+)return;
ans[has+]=now;
dfs(now+,has+,sum+bo[now]);
ans[has+]=;
dfs(now+,has,sum);
} int main(){
scanf("%d%d%d",&n,&m,&k);
for(int i=;i<=n;i++)scanf("%d",&bo[i]);
dfs(,,);
if(!flag){
printf("-1\n");
printf("%d\n",max_ans);
}else{
printf("%d\n",flag);
for(int i=;i<=flag;i++){
for(int j=;j<res[i].size();j++)
printf("%d ",res[i][j]);
printf("\n");
}
}
return ;
}
洛谷 U6931 灯光的更多相关文章
- 洛谷1640 bzoj1854游戏 匈牙利就是又短又快
bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...
- 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.
没有上司的舞会 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...
- 洛谷P1108 低价购买[DP | LIS方案数]
题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...
- 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP
题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...
- 洛谷P1710 地铁涨价
P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交 讨论 题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...
- 洛谷P1371 NOI元丹
P1371 NOI元丹 71通过 394提交 题目提供者洛谷OnlineJudge 标签云端评测 难度普及/提高- 提交 讨论 题解 最新讨论 我觉得不需要讨论O long long 不够 没有取 ...
- 洛谷P1538迎春舞会之数字舞蹈
题目背景 HNSDFZ的同学们为了庆祝春节,准备排练一场舞会. 题目描述 在越来越讲究合作的时代,人们注意的更多的不是个人物的舞姿,而是集体的排列. 为了配合每年的倒计时,同学们决定排出——“数字舞蹈 ...
- 洛谷八月月赛Round1凄惨记
个人背景: 上午9:30放学,然后因为学校举办读书工程跟同学去书城选书,中午回来开始打比赛,下午又回老家,中间抽出一点时间调代码,回家已经8:50了 也许是7月月赛时“连蒙带骗”AK的太幸运然而因同学 ...
- 洛谷 P1379 八数码难题 Label:判重&&bfs
特别声明:紫书上抄来的代码,详见P198 题目描述 在3×3的棋盘上,摆有八个棋子,每个棋子上标有1至8的某一数字.棋盘中留有一个空格,空格用0来表示.空格周围的棋子可以移到空格中.要求解的问题是:给 ...
随机推荐
- webpack3.0 环境搭建
额.备份一下总是好的 #为了避免某些国外镜像源安装失败,先设置淘宝镜像代理 yarn config set registry https://registry.npm.taobao.org # 初始化 ...
- MVC初了解
MVC:Model-View-Controller,将数据和显示形式分离. Model:能够看做是三层中的D层+B层,实现业务逻辑和与数据库的交互. View:看做是U层,用来显示数据. Contro ...
- 利用xlrd模块实现Python读取Excel文档
# -*- coding: cp936 -*- #python读取excel import xlrd def main(): xls=xlrd.open_workbook("d:\\11.x ...
- 如何使用CocoaPods安装使用及配置私有库以及管理依赖库 【原创】
CocoaPods是什么 在iOS开发中势必会用到一些第三方依赖库,比如大家都熟悉的ASIHttpRequest.AFNetworking.JSONKit等.使用这些第三方类库能极大的方便项目的开发, ...
- rst2pdf 中文
上篇说到用pandoc转换为reST为pdf是使用LaTeX作为中间格式的,而今天要说的rst2pdf貌似是直接转换为pdf的. 安装和调用 rst2pdf目前只支持Python2.7,因此在创建vi ...
- 对于一个字符串,请设计一个高效算法,找到第一次重复出现的字符。 给定一个字符串(不一定全为字母)A及它的长度n。请返回第一个重复出现的字符。保证字符串中有重复字符,字符串的长度小于等于500。
// 第一种方法 // ConsoleApplication10.cpp : 定义控制台应用程序的入口点. // #include "stdafx.h" #include < ...
- Hive报错:Failed with exception Unable to rename
之前也安装过hive,操作过无数,也没发现什么错误,今天因为之前安装的hadoop不能用了,不知道为什么,老是提示node 0,所以重新安装了hadoop和hive.安装完测试hive创建表也没发现什 ...
- Maven中央仓库地址(实用版)
最近做项目的时候,一直发现常用的oschina maven源一直都没有反应,后面发现原来oschina竟然关闭了maven源服务,后面经同事推荐了阿里云的maven源,这速度杠杠的 Maven 中央仓 ...
- EasyPlayerPro(Windows)流媒体播放器功能介绍及应用场景
EasyPLyerPro(Windows)经过为期一个月的开发已经基本完成,虽然目前仍存在一些小问题,但是总体功能还是趋于比较稳定和强大的,下面对其功能和应用场景做简要介绍. 一.EasyPlayer ...
- vue如何做分页?
原创作品转载请注明出处 先来看一下效果图: 功能描述: 1. 点击页面序号跳转到相应页面: 2. 点击单左/单右,向后/向前跳转一个页面: 3. 点击双左/双右,直接跳转到最后一页/第一页: 3 ...