1314: ZZY的困惑
1314: ZZY的困惑
Time Limit: 2 Sec Memory Limit: 128 M
[Submit][Status][Web Board]
Description
ZZY有很多爱好~~比如足球、电影、三国杀、A题,而他希望在这些爱好中能收获一些东西~~但是并不是所有爱好对所有目标都是起积极作用的..ZZY十分的困惑..于是列了下自己想获得的收获并且给每个目标设立了最小要达到的权值...并且给自己的爱好对每个收获目标进行了评值..这个值若是负则代表不利于获得某个收获~~为0代表没影响~~为正的代表利于获得某种收获..现在ZZY已经制作好了这些数据想请你帮帮忙~~在保证所有的目标最低要求都能达成的情况下保留尽量多的爱好~~
Input
Output
Sample Input
Sample Output
#include <iostream>
#include <stdio.h>
#include <queue>
#include <stdio.h>
#include <string.h>
#include <vector>
#include <queue>
#include <set>
#include <algorithm>
#include <map>
#include <math.h>
#define Max(a,b) ((a)>(b)?(a):(b))
using namespace std ;
typedef long long LL ;
int N ,M ;
bool Select[18] ;
int num[18][21] ;
int dp[21] ;
int object[21] ;
int select_num ;
vector<int>ans ;
int judge(){
for(int i=1;i<=N;i++){
if(dp[i]<object[i])
return 0 ;
}
return 1 ;
}
void dfs(int id){
if(id==M+1){
int select_now_num=0 ;
memset(dp,0,sizeof(dp)) ;
for(int i=1;i<=M;i++){
if(Select[i]){
select_now_num++ ;
for(int j=1;j<=N;j++)
dp[j]+=num[i][j] ;
}
}
if(judge()){
if(select_now_num>select_num){
select_num=select_now_num ;
ans.clear() ;
for(int i=1;i<=M;i++){
if(Select[i])
ans.push_back(i) ;
}
}
else if(select_now_num==select_num){
select_num=select_now_num ;
vector<int>temp ;
temp.clear() ;
for(int i=1;i<=M;i++){
if(Select[i])
temp.push_back(i) ;
}
int flag=0 ;
for(int i=0;i<ans.size();i++){
if(ans[i]>temp[i]){
flag=1 ;
break ;
}
}
if(flag){
ans.clear() ;
for(int i=0;i<temp.size();i++)
ans.push_back(temp[i]) ;
}
}
}
return ;
}
Select[id]=0 ;
dfs(id+1) ;
Select[id]=1 ;
dfs(id+1) ;
}
int main(){
while(scanf("%d",&N)!=EOF){
for(int i=1;i<=N;i++)
scanf("%d",&object[i]) ;
scanf("%d",&M) ;
for(int i=1;i<=M;i++)
for(int j=1;j<=N;j++)
scanf("%d",&num[i][j]) ;
memset(Select,0,sizeof(Select)) ;
select_num=0 ;
dfs(1) ;
printf("%d",select_num) ;
if(select_num){
for(int i=0;i<ans.size();i++)
printf(" %d",ans[i]) ;
}
puts("") ;
}
return 0 ;
}
1314: ZZY的困惑的更多相关文章
- ZZY的困惑
Description ZZY有很多爱好~~比如足球.电影.三国杀.A题,而他希望在这些爱好中能收获一些东西~~但是并不是所有爱好对所有目标都是起积极作用的..ZZY十分的困惑..于是列了下自己想获得 ...
- C#进阶系列——WebApi 接口返回值不困惑:返回值类型详解
前言:已经有一个月没写点什么了,感觉心里空落落的.今天再来篇干货,想要学习Webapi的园友们速速动起来,跟着博主一起来学习吧.之前分享过一篇 C#进阶系列——WebApi接口传参不再困惑:传参详解 ...
- C#进阶系列——WebApi 接口参数不再困惑:传参详解
前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如今,使用WebApi也有段时间了,今天就记录下API接口传参的一些方式方法,算是一个笔记,也希望能帮初学者少走弯路.本 ...
- javascript中异步和闭包产生的困惑
这里我不打算大谈特谈什么是异步,什么是闭包,这些内容在博客园都已经写的够多的了,但是这些内容出现的多,并不代表所有初学者都已经撑握了,所以我还是打算,用一个比较常见的示例来分析一下,或许能让对这个问题 ...
- WebApi 接口参数不再困惑:传参详解
阅读目录 一.get请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4.“怪异”的get请求 二.post请求 1.基础类型参数 2.实体作为参数 3.数组作为参数 4.后台发送请求参数的 ...
- 计算LDA模型困惑度
http://www.52nlp.cn/lda-math-lda-%E6%96%87%E6%9C%AC%E5%BB%BA%E6%A8%A1 LDA主题模型评估方法--Perplexity http:/ ...
- WebApi接口传参不再困惑(4):传参详解(转载)
WebApi接口传参不再困惑(4):传参详解 前言:还记得刚使用WebApi那会儿,被它的传参机制折腾了好久,查阅了半天资料.如今,使用WebApi也有段时间了,今天就记录下API接口传参的一些方 ...
- python logging模块可能会令人困惑的地方
python logging模块主要是python提供的通用日志系统,使用的方法其实挺简单的,这块就不多介绍.下面主要会讲到在使用python logging模块的时候,涉及到多个python文件的调 ...
- 【深入BFC】 关于CSS中float布局,清除浮动,和margin合并的原理解析,解开你心中的那些困惑!
BFC的通俗理解: Block Formatting Context(块级格式化上下文)是W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用. ...
随机推荐
- smarty变量调节器案例
要求: 如下图,有内容的每一行,当鼠标放上去显示灰色区域,当鼠标离开灰色区域消失
- VBA excel中表示列的字母换成数字
出自这里 数字转列标: Split(Cells(1,).Address(1,0),"$")(0) '将1-256替换红色的1就可以 Cells(1, a) 选中对应的第一行第 ...
- Struts2 - 传值
Struts2传值有几种方式: 1)URL parameter 例如配置代码: <action name="login_*" class="com.my.actio ...
- php.ini xdebug
[XDebug]zend_extension = "C:\xampp\php\ext\php_xdebug.dll"xdebug.profiler_append = 0xdebug ...
- 剑指offer系列46---和为s的连续正数序列
[题目]输出所有和为S的连续正数序列.序列为:1,2,3,4,5,6,7,8................ * 序列内按照从小至大的顺序,序列间按照开始数字从小到大的顺序 package com.e ...
- Nmap命令的29个实用范例
Nmap即网络映射器对Linux系统/网络管理员来说是一个开源且非常通用的工具.Nmap用于在远程机器上探测网络,执行安全扫描,网络审计和搜寻开放端口.它会扫描远程在线主机,该主机的操作系统,包过滤器 ...
- MIT牛人解说数学体系(转载)
原文网址:http://www.guokr.com/post/442622/ 在过去的一年中,我一直在数学的海洋中游荡,research进展不多,对于数学世界的阅历算是有了一些长进. 为什么要深入数学 ...
- Visual C++ for Linux Development
原文 https://blogs.msdn.microsoft.com/vcblog/2016/03/30/visual-c-for-linux-development/ Visual C++ fo ...
- [git/svn]Git和SVN差异
转自:http://blog.csdn.net/huacuilaifa/article/details/19124635 在参加百度的开源项目时接触到Git,后来又陆续在微博上看到很多宣扬Git为程序 ...
- Linux下文件的压缩和解压
tar命令 解包:tar zxvf FileName.tar 打包:tar czvf FileName.tar DirName gz命令 解压1:gunzip FileName.gz 解压2:gzip ...