poj2709
2024-08-25 09:37:05
模拟题,在合成灰色的时候,每次取当前剩余最多的三种颜色,各取1mL合成。然后重新看剩余最多的是哪三个。
#include <cstdio>
#include <cstdlib>
#include <algorithm>
#include <functional>
#include <queue>
using namespace std; #define MAX_COLOR_NUM 20 int color_num;
int gray_vol;
int color_vol[MAX_COLOR_NUM];
int ans; void input()
{
int max_vol = ;
for (int i = ; i < color_num; i++)
{
scanf("%d", &color_vol[i]);
max_vol = max(color_vol[i], max_vol);
}
scanf("%d", &gray_vol);
ans = (max_vol + ) / ;
} void produce_gray()
{
priority_queue<int> pq;
for (int i = ; i < color_num; i++)
if (color_vol[i] != )
{
pq.push(color_vol[i]);
color_vol[i] = ;
}
while (pq.size() >= )
{
int a = pq.top();
pq.pop();
int b = pq.top();
pq.pop();
int c = pq.top();
pq.pop();
a--;
b--;
c--;
gray_vol--;
if (a)
pq.push(a);
if (b)
pq.push(b);
if (c)
pq.push(c);
}
int i = ;
while (!pq.empty())
{
color_vol[i] = pq.top();
pq.pop();
i++;
}
} void work()
{
for (int i = ; i < color_num; i++)
color_vol[i] = ans * - color_vol[i];
while ()
{
produce_gray();
if (gray_vol <= )
break;
ans++;
for (int i = ; i < color_num; i++)
color_vol[i] += ;
}
printf("%d\n", ans);
} int main()
{
while (scanf("%d", &color_num), color_num)
{
input();
work();
}
return ;
}
最新文章
- HDU3948 &; 回文树模板
- sublime3安装liveload,实现前端自动F5刷新html界面
- p2p网贷项目开发全过程技术详解,应用框架是ci2.2
- Hadoop学习笔记(5) ——编写HelloWorld(2)
- 【POJ】1084 Square Destroyer
- c++ 派生类向基类转换的可访问性
- HTML - HTML Commonly Used Character Entities
- 分页功能的实现——Jdbc &;&; JSP
- 如何通过navigator.userAgent判断是哪款浏览器?
- Python全栈开发之---assert断言
- linux 进阶命令
- Luogu T29912 fuck
- Ubuntu软件操作的相关命令
- SQLServer中进行sql除法运算结果为小数时显示0的解决方案
- 内存管理 初始化(四)mem_init bootmem 迁移至伙伴系统
- python的print
- Tomcat部署Web应用
- [转]Jsp 与 JavaBean
- Basic4android v3.20 发布
- block中self关键字的使用-防止self 被retain一次
热门文章
- kickstart自动化安装
- [转帖] k8s kubectl 命令行技巧
- msyql: navicat 连接时msyql遇到的问题
- hdu 6315 Naive Operations (2018 Multi-University Training Contest 2 1007)
- Django_ KindEditor 插件使用
- 【刷题】LOJ 6223 「网络流 24 题」汽车加油行驶问题
- 如何用React, Webcam和JS Barcode SDK创建Web扫码App
- 【BZOJ1485】[HNOI2009]有趣的数列(组合数学)
- P3232 [HNOI2013]游走 解题报告
- java同步代码(synchronized)中使用BlockingQueue