文章标题 CSU 1859: Gone Fishing(贪心)
来源:互联网 发布:php类自调用函数 编辑:程序博客网 时间:2024/04/30 18:28
1859: Gone Fishing
题目链接
题意:给出很多个鱼塘,告诉你每个鱼塘的初始鱼的数量,还有每个鱼 塘每五分钟鱼游走的鱼的数量以及每五分钟能够钓到的鱼的数量。 每个鱼塘之间有距离。然后问在一定时间内,能够最多能钓鱼多 少只,并且把在每个鱼塘停留钓鱼的时间输出,而且要求在第一 个鱼塘尽量呆的久。
分析:贪心,如果我们已经确定在号鱼塘内钓鱼,事先减去再 路上花费的时间。那么我们就不用管钓鱼的前后关系了。即先去 号鱼塘钓鱼,再去号鱼塘钓鱼,再去号鱼塘钓鱼这些路上的 时间不用再计算了。相当于可以随便钓,然后问最多钓多少鱼。 很显然,我们用贪心思想,每次取当前能够钓鱼数量最多的那个 鱼塘即可。
代码:
#include<iostream>#include<string>#include<cstdio>#include<cstring>#include<vector>#include<math.h>#include<map>#include<queue> #include<algorithm>using namespace std;const int inf = 0x3f3f3f3f;int n,h;int f[30];int tmp_f[30];int t[30];//岛与岛之间之间花费的时间 int d[30];//每呆单位时间鱼减掉的数目 int rec[30],rec_tmp[30]; int main (){ int flag=0; while (scanf ("%d",&n)){ if (n==0)break; if (flag)printf ("\n"); else flag=1; int ans=0; scanf ("%d",&h); h*=12;//总时间 for (int i=1;i<=n;i++){ scanf ("%d",&f[i]); tmp_f[i]=f[i]; } for (int i=1;i<=n;i++){ scanf ("%d",&d[i]); } t[0]=0; for (int i=1;i<=n-1;i++){ scanf ("%d",&t[i]); t[i]+=t[i-1];//求到达第i+1个岛在路上花费的总时间 } for (int i=1;i<=n;i++){ //走到第i个岛,先将路上的时间给减掉,然后剩下的就是可以在岛屿上呆的时间 int tt=h-t[i-1]; //cout<<"tt="<<tt<<endl; if(tt<0)break; memset(rec_tmp,0,sizeof (rec_tmp)); int ans1=0; int Max=0,place=1; for (int j=1;j<=n;j++) tmp_f[j]=f[j];//每次从新赋值原始的鱼的数量 for (int k=0;k<tt;k++){ Max=0;place=1;//在前i个岛中找到能钓到最多的鱼 for (int j=1;j<=i;j++){ if (Max<tmp_f[j]){ Max=tmp_f[j]; place=j; } } ans1+=Max;//总数加上 tmp_f[place]-=d[place];//然后这个岛能钓到的鱼减掉d rec_tmp[place]++;//在岛呆的时间加一 if (tmp_f[place]<0)tmp_f[place]=0; //如果小于0说哦名下次钓不到鱼,置零 } if (ans1>ans){ ans=ans1; for (int j=1;j<=n;j++){//保存在每个岛呆的时间 rec[j]=rec_tmp[j]; } } } for (int i=1;i<=n;i++){ if (i==1)printf ("%d",rec[i]*5); else printf (", %d",rec[i]*5); } printf ("\n"); printf ("Number of fish expected: %d\n",ans); } return 0;}
阅读全文
0 0
- 文章标题 CSU 1859: Gone Fishing(贪心)
- Gone Fishing (经典贪心)
- uva757 - Gone Fishing(贪心)
- Gone Fishing(Poj1042)(贪心+枚举)
- poj 1042 Gone Fishing(贪心 钓鱼)
- NYOJ 30 Gone Fishing(枚举+贪心)
- NYOJ 30Gone Fishing(贪心)
- POJ 1042 Gone Fishing(贪心+枚举)
- UVA 757 Gone Fishing(贪心 + 暴力)
- uva 757 Gone Fishing(贪心)
- POJ 1042 Gone fishing(枚举+贪心)
- NYOJ 30 Gone Fishing(贪心)
- POJ 1042 Gone Fishing (贪心)
- uva 757 Gone Fishing (贪心)
- POJ 1042 Gone Fishing(模拟+贪心)
- LightOJ 1106 Gone Fishing(贪心)
- POJ1042 Gone Fishing(贪心)
- 1042 Gone Fishing //贪心
- linux与windows实现文件共享
- Android cursor遍历数据
- 百度地图api 实例 整个自动提示 并计算两地的行驶距离
- 内存分配——静态存储区 栈 堆
- 函数式编程——Python学习笔记05
- 文章标题 CSU 1859: Gone Fishing(贪心)
- 重要通知
- Matlab 基本语句与函数运用
- Spring framework体系架构
- CentOS 安装 *.src.rpm
- CSS 并不简单 -- 文字修饰的那点事
- Android开发之Intent跳转到系统应用中的拨号界面
- 文章标题
- 数据存储路径