poj1042
题目大意:去捕鱼
#include<stdio.h>
#include<queue>
using namespace std; #define maxn 30 struct node
{
int fi, di, index, p;
friend bool operator < (node n1, node n2)
{
if(n1.fi != n2.fi)
return n1.fi < n2.fi;
return n1.index > n2.index;
}
}; void Solve(int ans[], node a[], int n, int *Max, int Time); int main()
{
int n, t=0; while(scanf("%d", &n), n)
{
int i, H, Max=-1, ans[maxn]={0}, ti[maxn]={0}, time=0;
node a[maxn]; scanf("%d", &H); H = H*12; for(i=0; i<n; i++)
scanf("%d", &a[i].fi);
for(i=0; i<n; i++)
{
scanf("%d", &a[i].di);
a[i].index = i;
a[i].p = 0;
}
for(i=1; i<n; i++)
scanf("%d", &ti[i]); for(i=0; i<n; i++)
{
time += ti[i];
Solve(ans, a, i+1, &Max, H-time);
} if(t)printf("\n");t++; for(i=0; i<n; i++)
printf("%d%s", ans[i]*5, i==n-1?" \n":", ");
printf("Number of fish expected: %d\n", Max);
} return 0;
}
void Solve(int ans[], node a[], int n, int *Max, int Time)
{
int i, sum=0;
priority_queue<node> Q;
node s; for(i=0; i<n; i++)
{
s = a[i];
Q.push(s);
} if(Time < 0)return ; while(Time)
{
Time--; s = Q.top(), Q.pop();
sum += s.fi;
s.fi -= s.di, s.p++;
if(s.fi < 0)
s.fi = 0;
Q.push(s);
} if(*Max < sum)
{
while(Q.size())
{
s = Q.top(), Q.pop();
ans[s.index] = s.p;
}
*Max = sum;
}
}
poj1042的更多相关文章
- poj1042(贪心+枚举)
题目链接:https://vjudge.net/problem/POJ-1042 题意:给n个湖,给出每个湖第一次打捞时鱼的数量f[i],每单位时间鱼减少的数量d[i],从湖i到湖i+1用时t[i], ...
- POJ1042 Gone Fishing
采用贪心策略. 假设他从1湖泊走到x 湖泊,这还剩下 h*12 - sigma(T1--Tx-1).(单位时间为5分钟).然后再用剩下的时间去钓1-x的湖泊的鱼. 每次都选择最多鱼的湖泊钓. code ...
- poj1042题解
h [1,16] hours all_v=h*12 intervals n [2,25] lakes fi inital intervals fi-di*v v [0,all_v) 题意,做每件事情的 ...
- POJ1042 贪心钓鱼
题意: 你有H小时(H*12个单位)时间去用,有n个鱼池在一条直线上,一开始你在1的位置,可以选择在某些鱼池上钓鱼,但是如果持续在一个鱼池上钓鱼钓鱼速度回成线性减少,初始每个时间单位钓fi ...
- OJ题目分类
POJ题目分类 | POJ题目分类 | HDU题目分类 | ZOJ题目分类 | SOJ题目分类 | HOJ题目分类 | FOJ题目分类 | 模拟题: POJ1006 POJ1008 POJ1013 P ...
- 暑假集训Chapter1 贪心
为什么要今天写呢? 明天全力研究Johnson和一些奇奇怪怪的贪心 今天把能写的都写了 T1T2太水了直接上代码吧 #include<bits/stdc++.h> #define LL l ...
随机推荐
- memcached和mongodb 在windows下安装
要在新机器上安装memcached和mongodb服务,折腾了一天,终于把这两个服务在windows下跑起来了. memcached主要参考http://www.rootop.org/pages/27 ...
- 【转】iOS使用NSMutableAttributedString实现富文本
iOS使用NSMutableAttributedString实现富文本 在iOS开发中,常常会有一段文字显示不同的颜色和字体,或者给某几个文字加删除线或下划线的需求.之前在网上找了一些资料,有的是重绘 ...
- 安卓开发service
如果把Activity比喻为前台程序,那么service可以看做是一个后台程序.Service跟Activity一样也由Intent调用. 在工程里想要添加一个Service,先新建继承Service ...
- java 保留小数点后N位数(若干位),几种实现的方式总结
import java.math.BigDecimal;import java.text.DecimalFormat;import java.text.NumberFormat;/** * java ...
- HDOJ 2037简单的贪心算法
代码: #include<iostream> using namespace std; int main() { int n,s,t1[100],t2[100],i,t,j; while( ...
- LNMP安装WordPress3.4.2看不到主题解决方法
喜欢LNMP配置环境的朋友,又是wordpress建立的博客程序,安装之后发现一个问题在网站后台看不到模板主题,重新下载了一款新的主题也查看不了.开始以为是程序的问题,于是我重新下载新版本的WordP ...
- 如何为jquery添加方法
以下内容引自一位网友的帖子: jQuery插件的开发包括两种: 一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法.jQuery的全局函数就是属于jQuery ...
- Bootstrap_表单_表单控件状态
一.焦点状态 焦点状态是通过伪类“:focus”来实现.Bootstrap框架中表单控件的焦点状态删除了outline的默认样式,重新添加阴影效果. <form role="form& ...
- POJ3274-牛的属性-HASH-ACM
原题:POJ3274 参考:进击的阿俊 已知有n头牛,用一个K位二进制数Ak,Ak-1,...,A1表示一头牛具有的特征,Ai=1表示具有特征i.现给定按顺序排列的N头牛的k位特征值,称某个连续范围内 ...
- dedecms织梦二级菜单的实现方法
首先,复制代码: 程序代码 {dede:channelartlist typeid='top' cacheid='channelsonlist'} {dede:channel type='son' n ...