CodeForces - 140C-New Year Snowmen
题意:
给出n个数字,要求找出不同的三个数字构成雪人,问最多可以构成多少组这种符合条件的要求
思路:
优先队列,排序为数字个数
#include <iostream>
#include <stdio.h>
#include <cstring>
#include <algorithm>
#include <queue>
using namespace std;
typedef long long ll;
int a[100005][5];
struct node
{int num,sum;friend bool operator <(node n1,node n2){return n1.sum<n2.sum;}
}s[100005];
int b[100005];
int main()
{int n,t;cin>>n;priority_queue<node > q;for(int i=1;i<=n;i++){scanf("%d",&b[i]);}sort(b+1,b+1+n);node c;int x,y;c.num=b[1],c.sum=1;for(int i=2;i<=1+n;i++){if(b[i]!=c.num ){q.push(c);c.num=b[i];c.sum=1;}else{c.sum++;}}int ans=0;int cnt=0;while(!q.empty()){node first=q.top();q.pop();node second,third;second.num=-1,third.num=-1;if(!q.empty() ){second=q.top();q.pop();}if(!q.empty() ){third=q.top();q.pop();}if(second.num!=-1&&third.num!=-1){a[++cnt][3]=third.num;a[cnt][2]=second.num;a[cnt][1]=first.num;}elsebreak;first.sum--;second.sum--;third.sum--;if(first.sum!=0){q.push(first);}if(second.sum!=0){q.push(second);}if(third.sum!=0){q.push(third);}}cout<<cnt<<endl;for(int i=1;i<=cnt;i++ ){int max1=max(max(a[i][1],a[i][2]),a[i][3]);int max2=min(min(a[i][1],a[i][2]),a[i][3]);int max3;for(int j=1;j<=3;j++){max3=a[i][j];if(max3!=max1&&max3!=max2)break;}cout<<max1<<" "<<max3<<" "<<max2<<endl;}return 0;
}
/*
8
3 4 5 3 2 3 5
*/
CodeForces - 140C-New Year Snowmen相关推荐
- CodeForces - 140C New Year Snowmen
CodeForces - 140C New Year Snowmen 题意: 现在来做雪人,每个雪人由三个不同大小的雪球构成:一个大的,一个中等的,一个小的.现在有 n 个雪球半径分别为 r1, r2 ...
- CodeForces 140C New Year Snowmen (贪心+优先队列)
题意:n个数,选三个严格下降的数为一组,求最多能选多少组,并列出每组哪些数. 题解:贪心+优先队列 最多能选多少组,那么必须贪心数量多的. 例如:1 1 2 3 4 5 如果按照数的大小排序,只能贪到 ...
- CodeForces 140C - New Year Snowmen(数据结构)
题目链接:click here~~ [题目大意]给你一个整数序列,求最多选出每个长度为3的且序列元素单调的子序列的个数,并且输出每个子序列的元素,作为一个子序列,每个元素只能选一次,也就是满足一次性, ...
- 贪心(优先队列) - New Year Snowmen - CodeForces - 140C
贪心(优先队列) - New Year Snowmen - CodeForces - 140C 题意: 给定一个长度为n的正整数序列a1,a2,...,an.给定一个长度为n的正整数序列a_1,a_2 ...
- New Year Snowmen codeforces 140C
题目 As meticulous Gerald sets the table and caring Alexander sends the postcards, Sergey makes snowme ...
- CodeForces 375D Tree and Queries
传送门:https://codeforces.com/problemset/problem/375/D 题意: 给你一颗有根树,树上每个节点都有其对应的颜色,有m次询问,每次问你以点v为父节点的子树内 ...
- 「日常训练」Bad Luck Island(Codeforces Round 301 Div.2 D)
题意与分析(CodeForces 540D) 是一道概率dp题. 不过我没把它当dp做... 我就是凭着概率的直觉写的,还好这题不算难. 这题的重点在于考虑概率:他们喜相逢的概率是多少?考虑超几何分布 ...
- 【codeforces 812C】Sagheer and Nubian Market
[题目链接]:http://codeforces.com/contest/812/problem/C [题意] 给你n个物品; 你可以选购k个物品;则 每个物品有一个基础价值; 然后还有一个附加价值; ...
- CodeForces 获得数据
针对程序的输出可以看见 CodeForces :当输入.输出超过一定字符,会隐藏内容 所以:分若干个程序进行输入数据的获取 1. 1 for (i=1;i<=q;i++) 2 { 3 scanf ...
最新文章
- python3 pymysql 查询结果转字典dict
- linux下出现ping:unknown host www.baidu.com问题时的解决办法——ubuntu下局域网络的配置
- SAP CRM定价决定(Price Determine)的调试入口
- 理解 Azure AD 安全默认值设置
- python简述定义函数的规则_Python的函数定义
- Maven生命周期和插件的那些事(2021版)
- Google PR 到4了
- BZOJ1108 [POI2007]天然气管道Gaz
- 电脑连接移动设备android驱动程序,手机连接电脑驱动程序下载汇总
- 关于在Google Earth中动态加载地标问题
- 阿里 java 电话面试_阿里Java开发电话面试经历--惨败
- 数列极限的性质与判定
- 计算标准累积正态分布_神说要有正态分布,于是就有了正态分布。
- 分式的化简(约分、通分)
- UVALive 6657 GCD XOR 异或,因子筛法
- Kubernetes系列之五:使用yaml文件创建service向外暴露服务
- 双软认证需要什么材料
- 【P秋色的小课堂】第一课
- 第996号互联网世界终结了
- opencv中waitKey()的作用
热门文章
- 让人寒心,义工丛飞资助的是一群白眼狼?
- 搞算法的仙女妹子,爱了!!
- 从零开始学习信号完整性(SIPI)--2
- cad直线和圆弧倒角不相切_CAD倒角技巧
- PredRNN++: Towards A Resolution of the Deep-in-Time Dilemma in Spatiotemporal Predictive Learning 翻译
- CSS压缩之:正则五步替换法
- 逆向——微信接收文本图片消息
- 解决Mac电脑连不上wifi的问题
- Discuz手机视频模板 AIUI7.3.0 商业版
- 人生就像四季,繁华过后终归平淡,不可能一直繁华似锦,不可能一路花香四溢。...