数袋鼠好有趣

2024-01-13 19:38
文章标签 有趣 袋鼠

本文主要是介绍数袋鼠好有趣,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

这个题目需要将袋鼠按照体型从大到小排序之后,将前一半体型较大的与后面一半体型较小的比较,如果前者是后者体型的两倍(或更大)就将袋鼠的数目减一,最后输出剩余袋鼠数量

这时我用的几组测试数据:

6

9 8 6 4 3 1 输出 3

5

9 4 1 1 1 输出3

有n只袋鼠。每只袋鼠的大小用一个整数表示。一只小袋鼠能装进一只大袋鼠的条件是,大袋鼠的大小至少是小袋鼠的两倍。

每只大袋鼠最多可以装一只袋鼠。小袋鼠被装进大袋鼠之后就不能再装其它的袋鼠了。

小袋鼠被装进大袋鼠之后就不能被我们看见了。请找出一个装袋鼠的方案,使得被看见的袋鼠最少。


Input
单组测试数据。 
第一行包含一个整数n(1≤n≤5*10^5)。 
接下来n行,每行一个整数si,表示第i只袋鼠的大小 (1≤si≤10^5)。
Output
输出一个整数,即最少能看见的袋鼠数量。
Sample Input
8
2
5
7
6
9
8
4
2
Sample Output
5
队列实现:

#include<stdio.h>
#include<queue>
#include<algorithm>
using namespace std;
bool cmp(int a,int b)
{return a>b;
}
int reco[500005]={0};
int main()
{int n,num,i,cnt=0;scanf("%d",&n);for(int i=1;i<=n;i++){scanf("%d",&reco[i]);}sort(reco+1,reco+n+1,cmp);queue<int> q_max,q_min;if(n&1)num=n+1;elsenum=n;for(i=1;i<=num/2;i++)q_max.push(reco[i]);for(;i<=n;i++)q_min.push(reco[i]);while(1){while(q_max.front()>=2*q_min.front()){cnt++;q_max.pop();q_min.pop();if(q_max.empty()||q_min.empty())break;}if(q_max.empty()||q_min.empty())break;while(q_max.front()<2*q_min.front()){cnt++;q_min.pop();if(q_max.empty()||q_min.empty())break;}if(q_max.empty()||q_min.empty())break;}printf("%d",q_max.size()+q_min.size()+cnt);return 0;
}
数组实现:

#include<stdio.h>
#include<stdlib.h>
#include<queue>
#include<algorithm>
using namespace std;
bool cmp(int a,int b)
{return a>b;
}
int reco[500005]={0};
int main()
{int n,num,i,j,ans;scanf("%d",&n);for(i=1;i<=n;i++){scanf("%d",&reco[i]);}sort(reco+1,reco+n+1,cmp);num=n,ans=n;if(num&1)num++;for(i=num/2+1,j=1;j<=num/2&&i<=n;i++){if(reco[j]>=2*reco[i]){j++;ans--;}}	printf("%d",ans);return 0;
}





这篇关于数袋鼠好有趣的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/602560

相关文章

nudepy,一个有趣的 Python 库!

更多资料获取 📚 个人网站:ipengtao.com 大家好,今天为大家分享一个有趣的 Python 库 - nudepy。 Github地址:https://github.com/hhatto/nude.py 在图像处理和计算机视觉应用中,检测图像中的不适当内容(例如裸露图像)是一个重要的任务。nudepy 是一个基于 Python 的库,专门用于检测图像中的不适当内容。该

高级数据结构设计--并查集及实现学习笔记(有趣篇)

并查集的程序设计: 为了解释并查集的原理,我将举一个更有趣的例子。 话说江湖上散落着各式各样的大侠,有上千个之多。他们没有什么正当职业,整天背着剑在外面走来走去,碰到和自己不是一路人的,就免不了要打一架。但大侠们有一个优点就是讲义气,绝对不打自己的朋友。而且他们信奉“朋友的朋友就是我的朋友”,只要是能通过朋友关系串联起来的,不管拐了多少个弯,都认为是自己人。这样一来,江湖上就形

Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(2) (*****生成数据结构类的方式特别有趣****)

本文仅作笔记学习和分享,不用做任何商业用途 本文包括但不限于unity官方手册,unity唐老狮等教程知识,如有不足还请斧正​​ Unity数据持久化 之 一个通过2进制读取Excel并存储的轮子(1)-CSDN博客 本节内容 实现目标 通过已经得到的Excel表格数据,生成对应类对象(不赋值),一张表就是一个对象,其中包含了如下的字段  就像这样子  实现思路 上

有趣的手机端见缝插针游戏源码

有趣的手机端见缝插针游戏源码下载,注:本地预览请用火狐浏览器模拟移动端,chrome本地预览存在跨域问题。 微信扫码获取源码

发现个有趣的东西:Tweetable Mathematical Art(用三个140字符以内的函数生成一个1024尺寸的图片)

发现 我是在看《构建之法》这本书时,看到作者提到这个: 好厉害!用三段140字符以内的代码生成一张1024×1024的图片_IT新闻_博客园 这是2014年一个人在 Code Golf Stack Exchange (a question and answer site for programming puzzle enthusiasts and code golfers) 发起的编程挑战:

云服务器如何提升你的创意生活:必试有趣项目

云服务器都可以做哪些有趣的项目 云服务器因其高效、灵活和可扩展等特点,成为了越来越多人选择的开发和学习平台。如果你拥有一台云服务器,但是不知道能用它做什么有趣的项目,那么这篇文章将为你提供一些有意思的想法。 1. 个人博客/网站 一个个人博客或网站无疑是云服务器的经典用途之一。你可以使用诸如WordPress、Hexo、Ghost等博客框架来创建属于自己的网站,分享知识和生活。 示例项目

github有趣项目:renpy自制“剧情游戏”

之前的剧情游戏《完蛋!我被美女包围了》很是火热,一度登上Steam热销榜第一。Ren’Py(https://github.com/renpy/renpy) 是一个可视小说引擎,可以快速方便的制作类似剧情游戏。它是一个免费的游戏引擎,支持多端运行打包。支持3D镜头移动(是对于二维堆叠图像的,好像还不支持三维模型),Live2D等功能。支持的音频格式:Opus、Ogg Vorbis、MP3、MP2、F

Mysql基础练习题 620.有趣的电影 (力扣)

620.编写解决方案,找出所有影片描述为 非 boring (不无聊) 的并且 id 为奇数 的影片,返回结果按 rating 降序排列 题目链接: https://leetcode.cn/problems/not-boring-movies/ 建表插入数据: Create table If Not Exists cinema (id int, movie varchar(255), de

【13年12月CCF计算机软件能力认证】:出现次数最多的数、ISBN号码、最大的矩形、有趣的数、I‘m stuck!

题目概括出现次数最多的数暴力枚举,非常简单ISBN号码直接模拟,非常简单最大的矩形用到双指针(优化枚举),非常简单有趣的数用到了数学知识排列组合,有一定思维难度I’m stuck!我用到了两个dfs来解决,解法比较暴力代码量大,但是速度也比较快 1、出现次数最多的数 给定 n 个正整数,找出它们中出现次数最多的数。 如果这样的数有多个,请输出其中最小的一个。 输入格式 输入的第一行只有一个正

如何有趣的解释什么是微服务架构

点击上方“朱小厮的博客”,选择“设为星标” 回复”1024“获取独家整理的学习资料 本文将介绍微服务架构和相关的组件,介绍他们是什么以及为什么要使用微服务架构和这些组件。本文侧重于简明地表达微服务架构的全局图景,因此不会涉及具体如何使用组件等细节。 要理解微服务,首先要先理解不是微服务的那些。通常跟微服务相对的是单体应用,即将所有功能都打包成在一个独立单元的应用程序。从单体应用到微服务并不是