CDOJ 1279 班委选举 每周一题 div2 暴力
班委选举
题目连接:
http://acm.uestc.edu.cn/#/status/list?problemId=1279
Description
高考的脚步越来越近了……时间如山涧小溪一般悄无声息地流走,一去不复还……曾几何时嬉笑的最后一排,如今也已经被大大小小的书本填完,我们从未有过为一件事如此认真过,但我们坚信我们的付出是值得的。
班长曲琪打破了班级久久的寂静。她咳了咳嗽,缓缓地走上讲台,学习委员乔伊也起身走向讲台。
“我们将进行我们最后一次班委选举,对吧副班长”。曲琪虽然尽力使用高兴的语气,但是难掩心中的将要与他离别和与他不确定的未来的惆怅。 title
“我是学委”。乔伊再一次提醒曲琪,然而曲琪总是喜欢叫他副班长。乔伊紧接着说:“作为我们最后一次的班委选举,我和曲琪想了很多选择方式,我们接下来要展示的是我们的选拔标准”。
曲琪将手里的方案书打开,无意间一个小小盒子从手里掉了出来,曲琪马上把盒子捡了起来-那可是给他的生日礼物-一盒小小的曲奇饼。
“每……每位学生只能担任一个职务,不可以……不可以担任多个职务”,曲琪的心里小鹿乱撞生怕被他看到了礼物,涨红着脸读着方案书。
“我们将选出6位课代表,根据梅老师的带班经验一个班级的学习能力等于各科课代表的对应学科的学科能力总和”。 title
梅老师说:“同学们,我通过各科老师给你们的各科学习能力评了分用一个0-100以内的整数表示,作为你们的班主任我想通过这次的班委选举,全力提高我们的班级学习能力。” title
罗小涵:“求最大的班级学习能力这种事情还是很容易直接算出的吧,对吧”。
你:“怎么可能啊,N个人快N^6种安排方式,你看木馨算了好久了,都没有算出来,呀,她怎么睡着了”。
罗小涵:“……迟钝”。
Input
输入一个整数N(6<=N<=1000)表示你班级的人数。
接下去N行,第i行有6个整数pi(0<=pi<=100)表示第i个人的语文,数学,英语,化学,物理,生物能力。
Output
输出一个数表示这个班级的最大的班级学习能力(各科课代表的对应学科的学科能力总和)。
Sample Input
6
41 85 72 38 80 69
65 68 96 22 49 67
51 61 63 87 66 24
80 83 71 60 64 52
90 60 49 31 23 99
94 11 25 24 51 15
Sample Output
539
Hint
题意
题解:
暴力枚举
每一维中我只需要选出6个最大的向量出来就好了,然后再暴力枚举每一维究竟选择哪一个向量就好了。”
道理很简单,每一维除了那6个向量之外,其他的向量都是没有任何用的。
代码
#include<bits/stdc++.h>
using namespace std;
int vis[1020];
int ans = 0;
vector<pair<int,int> > p[6];
struct node
{
int x[6];
int id;
};
bool cmp1(node a,node b)
{
return a.x[0]>b.x[0];
}
bool cmp2(node a,node b)
{
return a.x[1]>b.x[1];
}
bool cmp3(node a,node b)
{
return a.x[2]>b.x[2];
}
bool cmp4(node a,node b)
{
return a.x[3]>b.x[3];
}
bool cmp5(node a,node b)
{
return a.x[4]>b.x[4];
}
bool cmp6(node a,node b)
{
return a.x[5]>b.x[5];
}
vector<node>v;
void dfs(int x,int A)
{
if(x==6)
{
ans=max(ans,A);
return;
}
for(int i=0;i<p[x].size();i++)
{
if(vis[p[x][i].second])
continue;
vis[p[x][i].second]=1;
dfs(x+1,A+p[x][i].first);
vis[p[x][i].second]=0;
}
}
int main()
{
int n;
scanf("%d",&n);
for(int i=1;i<=n;i++)
{
node tmp;
for(int j=0;j<6;j++)
scanf("%d",&tmp.x[j]);
tmp.id=i;
v.push_back(tmp);
}
sort(v.begin(),v.end(),cmp1);
for(int i=0;i<6;i++)
p[0].push_back(make_pair(v[i].x[0],v[i].id));
sort(v.begin(),v.end(),cmp2);
for(int i=0;i<6;i++)
p[1].push_back(make_pair(v[i].x[1],v[i].id));
sort(v.begin(),v.end(),cmp3);
for(int i=0;i<6;i++)
p[2].push_back(make_pair(v[i].x[2],v[i].id));
sort(v.begin(),v.end(),cmp4);
for(int i=0;i<6;i++)
p[3].push_back(make_pair(v[i].x[3],v[i].id));
sort(v.begin(),v.end(),cmp5);
for(int i=0;i<6;i++)
p[4].push_back(make_pair(v[i].x[4],v[i].id));
sort(v.begin(),v.end(),cmp6);
for(int i=0;i<6;i++)
p[5].push_back(make_pair(v[i].x[5],v[i].id));
dfs(0,0);
cout<<ans<<endl;
}
CDOJ 1279 班委选举 每周一题 div2 暴力的更多相关文章
- CDOJ 1277 智商杯考试 每周一题 div2 二分+数学
智商杯考试 题目连接: http://acm.uestc.edu.cn/#/problem/show/1277 Description 你是一个挂科选手. 你现在正在考试,你很方. 你参加的考试叫做智 ...
- CDOJ 1280 772002画马尾 每周一题 div1 矩阵快速幂 中二版
"问题:众所周知772002很喜欢马尾,所以他决定画几幅马尾送给他的女朋友. 772002会画m种马尾,772002还有n张纸,n张纸分别编号1到n,每张纸上只能画一种马尾. 然而77200 ...
- CDOJ 1280 772002画马尾 每周一题 div1 矩阵快速幂
772002画马尾 题目连接: http://acm.uestc.edu.cn/#/problem/show/1280 Description 众所周知772002很喜欢马尾,所以他决定画几幅马尾送给 ...
- [问题2014S12] 复旦高等代数II(13级)每周一题(第十二教学周)
[问题2014S12] 设 \(A,B\) 都是 \(n\) 阶半正定实对称阵, 证明: \(AB\) 的所有特征值都是非负实数. 进一步, 若 \(A,B\) 都是正定实对称阵, 证明: \(AB ...
- 复旦高等代数II(18级)每周一题
本学期将继续进行高等代数每周一题的活动.计划从第一教学周开始,到第十五教学周结束,每周的周末公布一道思考题(预计15道),供大家思考和解答.每周一题将通过“高等代数官方博客”(以博文的形式)和“高等代 ...
- 复旦高等代数 II(17级)每周一题
本学期将继续进行高等代数每周一题的活动.计划从第一教学周开始,到第十六教学周为止(根据法定节假日安排,中间个别周会适当地停止),每周的周末将公布1道思考题(共16道),供大家思考和解答.每周一题通过“ ...
- 复旦高等代数 I(17级)每周一题
本学期将继续进行高等代数每周一题的活动.计划从第二教学周开始,到第十六教学周为止(根据法定节假日安排,中间个别周会适当地停止),每周的周末将公布1-2道思考题,供大家思考和解答.每周一题通过“谢启鸿高 ...
- 复旦高等代数II(16级)每周一题
每周一题的说明 一.本学期高代II的每周一题面向16级的同学,将定期更新(一般每周的周末公布下一周的题目); 二.欢迎16级的同学通过微信或书面方式提供解答图片或纸质文件给我,优秀的解答可以分享给大家 ...
- 复旦高等代数I(19级)每周一题
本学期的高等代数每周一题活动计划从第2教学周开始,到第15教学周结束,每周的周末公布一道思考题(共14道,思考题一般与下周授课内容密切相关),供大家思考和解答.每周一题将通过“高等代数官方博客”(以博 ...
随机推荐
- url编码模块
use LWP::SImple; use URI::Escape; encoded_string = uri_escape(raw_string); get(encoded_string);
- Java的9种基本数据类型的大小,以及他们的封装类
由于java程序是运行在虚拟机之上的,所以java的基本数据类型的大小是确定的,不会随着操作系统的位数的改变而改变. 在计算机中,存储的是0,1,0,1这样的二进制位,表示为bit,1Byte = 8 ...
- Python3 使用 urllib 编写爬虫
什么是爬虫 爬虫,也叫蜘蛛(Spider),如果把互联网比喻成一个蜘蛛网,Spider就是一只在网上爬来爬去的蜘蛛.网络爬虫就是根据网页的地址来寻找网页的,也就是URL.举一个简单的例子,我们在浏览器 ...
- 利用itext将html转为pdf
亲测代码没有问题,需要注意细节已经标注:需要jar包:iText-2.0.8.jar:core-renderer-R8.jar: core-renderer-R8.jar下载地址:http://cen ...
- 【Python学习】程序运行完发送邮件提醒
有时候我们运行一个需要跑很长时间的程序,不管是在云主机还是本地主机上运行,我们都不可能一直守在电脑面前等.所以想到使用邮件来通知提醒. 示例代码如下 # -*- coding: utf-8 -*- # ...
- 细数雷军系成员,27家公司3家IPO
自 2004 年至今,作为天使投资人和顺为基金创始合伙人,雷军共投了移动互联网.电子商务.互联网社区等领域内的 27 家创业公司,其中欢聚时代.猎豹移动.迅雷三家公司成功上市.小米科技虽然还未 IPO ...
- 关于shutdown和close
示例代码: void str_cli(FILE *fp, int sockfd) { pid_t pid; char sendline[MAXLINE], recvline[MAXLINE]; ) { ...
- Linux NAPI/非NAPI
本文主要介绍二层收包流程,包括NAPI与非NAPI方式: NAPI:数据包到来,第一个数据包产生硬件中断,中断处理程序将设备的napi_struct结构挂在当前cpu的待收包设备链表softnet_d ...
- 网络知识===wireshark抓包数据分析(一)
wireshark分析: 上图是我进行一个HTTP协议的下载,文件内容大概是1.7M左右. 抓包数据: https://files.cnblogs.com/files/botoo/wireshark% ...
- 0x3F3F3F3F——ACM中的无穷大常量
在算法竞赛中,我们常常需要用到设置一个常量用来代表“无穷大”. 比如对于int类型的数,有的人会采用INT_MAX,即0x7fffffff作为无穷大.但是以INT_MAX为无穷大常常面临一个问题,即加 ...