蓝桥杯 无聊的逗 C++
灵感来源于一篇文章:无聊的逗【蓝桥杯】-pudn.com
因为是从n个棍里选若干个,已经选过的棍不能再选,所以首先对数组序列进行排序,然后给所有元素赋一个状态,1为可用,0为不可用
如果要从n个棍里沾两个长度一样长并且最长的,所有每根沾棍的长度不可能比所有棍长度之和的一半长,所以舍弃那些不符合要求的棍,保持沾棍的长度小于等于所以棍长之和的一半,答案就出来了。
#include<iostream>
#include<algorithm>
using namespace std;
int main()
{
int sum(int arr[][15],int n); //求和函数声明
int n,sum2,arr[2][15],num=0,j=1; //sum2为数列和,num为最大长度 ,j为计数
cin>>n;
for(int i=0;i<n;i++){ //状态复制,1为可用,0为不可用
cin>>arr[0][i];
arr[1][i] = 1;
}
sort(arr[0],arr[0]+n); //排序
sum2 = sum(arr,n);
while(j<=n)
{
int i=n-j;
for(;i>=0;i--){
if(arr[0][i]>sum2/2){ //如果这根棍子比所有棍子和的一半还长,舍弃它
arr[1][i] = 0; //状态赋0
sum2 = sum(arr,n); //重新计算长度
continue;
}
if(arr[1][i]==1){ //如果状态为1,计算和
num += arr[0][i];
}
if(num>sum2/2){ //如果num加到比和的一半长了,减掉刚刚加的那根棍子,使num始终小于所有棍的一半
num -=arr[0][i];
continue;
}
arr[1][i] = 0;
}
j++;
}
cout<<num<<endl;
return 0;
}
int sum(int arr[][15],int n) //求和函数
{
int sum1=0;
for(int i=0;i<n;i++){
if(arr[1][i]==1)
sum1 += arr[0][i];
}
return sum1;
}
蓝桥杯 无聊的逗 C++相关推荐
- 蓝桥杯 无聊的逗(java)
无聊的逗 问题描述 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长的,他想知道在 ...
- 蓝桥杯 无聊的逗 Python题解
题目: 问题描述 逗志芃在干了很多事情后终于闲下来了,然后就陷入了深深的无聊中.不过他想到了一个游戏来使他更无聊.他拿出n个木棍,然后选出其中一些粘成一根长的,然后再选一些粘成另一个长的,他想知道在两 ...
- 蓝桥杯 算法训练 逗志芃的危机
蓝桥杯 算法训练 逗志芃的危机 题目描述 资源限制 时间限制:1.0s 内存限制:256.0MB 问题描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和 ...
- 蓝桥杯 强力党逗志芃 链式前向星结构的树形dp
// 蓝桥杯 强力党逗志芃 // 采用树形dp,树以链式前向星形式存储#include <iostream> using namespace std;int power[205]; // ...
- 蓝桥杯算法训练-逗志芃的危机
每日更新蓝桥杯题解, 有兴趣关注一波呀 文章目录 题目描述 题解 java代码 C++代码 题目描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和他玩一 ...
- 蓝桥杯——基础练习——逗志芃的暴走
问题描述 逗志芃是有妹子的现充,但是有时候妹子就是烦恼.因为逗志芃太逗了,所以这段时间妹子对逗志芃发动了技能无理取闹,妹子要去玩很多的景点.由于逗志芃之前抽机花费了太多的时间,不久以后又要微积分考试了 ...
- 蓝桥杯——算法基础 逗志芃的暴走PYTHON
问题描述 逗志芃是有妹子的现充,但是有时候妹子就是烦恼.因为逗志芃太逗了,所以这段时间妹子对逗志芃发动了技能无理取闹,妹子要去玩很多的景点.由于逗志芃之前抽机花费了太多的时间,不久以后又要微积分考试了 ...
- 蓝桥杯算法训练——逗志凡的危机——动态规划+递归
算法训练 逗志芃的危机 题目描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和他玩一个游戏,这个游戏是这样的:一共有n个数(n是偶数)写成一行,然后两个 ...
- 蓝桥杯 算法训练 逗志芃的危机(Java)
问题描述 逗志芃又一次面临了危机.逗志芃的妹子是个聪明绝顶的人,相比之下逗志芃就很菜了.现在她妹子要和他玩一个游戏,这个游戏是这样的:一共有n个数(n是偶数)写成一行,然后两个人轮流取数,每次只能从最 ...
最新文章
- 聚类分析:创建,可视化以及可解释性
- java小数点的代码_java小数位的例子
- mysql查询语句习题._MySql数据库基本select查询语句练习题,初学者易懂。
- 杜克大学是原来英国Durham人去建立的 MIT和哈佛的是原来Cambridge的人去建立的
- 3-间隔插入排序C实现(希尔排序铺垫)
- django本地安装mysql_django使用mysql(本地环境下)_MySQL
- android 创建文件夹_Android 动画小记
- chrome和火狐获取资源
- 新工作上班九天心得(附 bootstrap分页写法)
- 【Computer Organization笔记22】虚拟存储器:段式存储,页式存储
- pytorch 深入理解 tensor.scatter_ ()用法
- python三天速成_python学习第三天
- cocos2d-x 之 简单数据存储——Userdefault
- SublimeLinter 3中使用jshint
- python100例详解-Python 经典算法100及解析(小结)
- 外贸询盘通开篇我的十年SEO探索路
- 如何打开.chm文件
- JavaScript工具函数(一)
- raid5硬盘插到计算机读取,【哭着写下这篇文章】win2008软raid5变成2个磁盘组的数据恢复...
- SAP ABAP BASE64 MD5 加解密