`

算法复习之贪心算法poj2709

 
阅读更多

题意:一套涂料有3~12种颜色,每种颜色50ml。Emily上课需要n种颜色的涂料,第i种颜色需要color[i]ml,此外,Emily还需要gray ml的灰色涂料,每ml灰色的涂料需要3种不同颜色的其他涂料各1ml融合而成。问emily要上课,至少需要买几套涂料?
 
思路:贪心。由于n很小,所以每次1ml的其他涂料融合成灰色时,再对他们进行排序。

 

代码如下:

 

#include<iostream>
#include<algorithm>
using namespace std;
const int Max = 15;

int main()
{
    int n, i, color[Max], gray;
    while(cin >> n && n != 0)
	{
        for(i = 0; i < n; i ++)
            cin >> color[i];
        cin >> gray;
        sort(color, color + n);
        int ans = 0, max = 0;
        while(max < color[n-1])
		{  //  首先找去满足除了灰色的其他颜色,最少需几套涂料。
            ans ++;
            max += 50;
        }
        while(1)
		{
            while(color[2] < max && gray > 0)
			{  //  模拟3种不同颜色融合成灰色的情况。
                color[0] ++;
                color[1] ++;
                color[2] ++;
                gray --;
                sort(color, color + n);
            }
            if(gray == 0) 
				break;
            ans ++;
            max += 50;
        }
        cout << ans << endl;
    }
    return 0;
}

 

 

 

分享到:
评论

相关推荐

    poj1087贪心算法实验报告

    poj1087贪心算法实验报告 poj1087贪心算法实验报告

    算法分析解题报告poj1065

    用贪心算法解决POJ 1065的木棍处理问题

    NOIP NOI 信息学竞赛 ACM-ICPC POJ(北京大学在线评测系统)刷题推荐 OI复习计划 算法大纲

    包含15类的POJ推荐50题,可全面复习或学习算法。 除此外还包含三种级别的水平(初级、中级、高级)应掌握的算法及数据结构及例题。 例如针对基本算法,初级有:(1)枚举. (poj1753,poj2965)(2)贪心(poj1328,poj2109,...

    田忌赛马: POJ 2287(贪心解法)

    NULL 博文链接:https://128kj.iteye.com/blog/1759266

    POJ 1129-Channel Allocation 的贪心算法解法(图的m着色问题)

    NULL 博文链接:https://128kj.iteye.com/blog/1686093

    北大oj 题目分类

    (2)贪心(poj1328,poj2109,poj2586) (3)递归和分治法. (4)递推. (5)构造法.(poj3295) (6)模拟法.(poj1068,poj2632,poj1573,poj2993,poj2996) 二.图算法: (1)图的深度优先遍历和广度优先遍历. (2)最短...

    算法实验(贪心策略 17-20题)1

    第 17 题:poj 1042 钓鱼John starts at lake 1, but he can finish at any lake he wants.

    程序员必须掌握哪些算法_介绍

    一.基本算法:枚举. (poj1753,poj2965)贪心(poj1328,poj2109,poj2586)递归和分治法

    史上最全poj题目分类

    史上最全poj题目分类及原题 包括:基本算法:贪心、递归、递推、枚举;基本数据结构,链表、栈;动态规划;搜索;高级数据结构:二叉搜索树、线段树、树状数组;数学:数论

    北京大学poj题目类型分类

    poj题目分类 简单题 搜索题 模拟题 动态规划 计算几何 递推 数学题 图论 数据结构 贪心 构造 枚举 特殊问题特殊对待 博弈 适合学算法的人进行专项练习

    pojacm题目具体分类

    poj题目分类,适合acmer学习研究 主流算法: 1.搜索 //回溯 2.DP(动态规划)  3.贪心  4.图论 //Dijkstra、最小生成树、网络流 5.数论 //解模线性方程 6.计算几何 //凸壳、同等安置矩形的并的面积与周长 7....

    poj-solve:算法练习

    Algorithm-Java Algorithms + Data Structures = Programs....最短路径(dijkstra,bellman-ford,floyd,heap+dijkstra)(,,poj1062,poj2253,poj1125,poj2240) 最小生成树(prim,kruskal)(p

    cpp-算法精粹

    AlgoHub囊括了 POJ, ZOJ, leetcode, HackerRank 等网站的经典题目(一些质量不高的题目则忽略),且 AlgoHub有非常简单的加题系统,用户不需要写一行代码即可自己添加题目,所以AlgoHub的题库还在飞速增长中。...

    leetcode题库-Programming-exercises:御航智能算法组编程练习专用

    leetcode题库 编程练习 御航智能算法组编程练习专用。 说明 本题库将汇集POJ、HDOJ、LeetCode等主流程序在线评测系统的题目,列出题目类别、描述、链接,...贪心算法—— 第3节 双指针—— 回溯算法—— 进阶篇 高阶篇

    01背包问题

    动态规划 01背包问题 POJ3624可以AC

    一个好的 pku 题目分类

    3.贪心 4.图论 //Dijkstra、最小生成树、网络流 5.数论 //解模线性方程 6.计算几何 //凸壳、同等安置矩形的并的面积与周长 7.组合数学 //Polya 定理 8.模拟 9.数据结构 //并查集、堆 10.博弈论 1、 排序 2、 搜索、...

    挑战程序设计竞赛(第2版)

    4.3 成为图论大师之路 4.3.1 强连通分量分解 4.3.2 2-SAT 4.3.3 LCA 4.4 常用技巧精选(二) 4.4.1 栈的运用 4.4.2 双端队列的运用 4.4.3 倍增法 4.5 开动脑筋智慧搜索 4.5.1 剪枝 4.5.2 A*与IDA* 4.6 划分、解决、...

    acm_problems:刷题!!!

    #POJ 题集 数论 欧几里得/拓展欧几里得算法 1006 1061 搜索 普通搜索 1062, 1088, 2386 剪枝优化 1011 动态规划 背包 1014 高精度 加减乘除 1001 巧妙处理 思维处理 1852 模拟 1017 简单题 水题 1004 1007 1008 枚举...

Global site tag (gtag.js) - Google Analytics