poj 1042(分类讨论,模拟)
#include<iostream> #include<cstring> #include<cstdio> using namespace std; int main(){ int i,j,k,n,h,h_t,f[30],d[30],sheng[30],t[30],ans_t[30][30],sum_fish[30]; int st,sum_t,sum_fish_t,sum_fish_i,tmp,tmp_i; while(scanf("%d",&n)==1&&n){ scanf("%d",&h); for(i=1;i<=n;i++){ scanf("%d",&f[i]); } for(i=1;i<=n;i++){ scanf("%d",&d[i]); } for(i=1;i<n;i++){ scanf("%d",&t[i]); } memset(ans_t,0,sizeof ans_t); for(k=1;k<=n;k++){ h_t = 12*h;//共多少个5分钟 for(st=0,i=1;i<k;i++){ st += t[i]; } for(i=1;i<=k;i++){ sheng[i] = f[i]; } sum_t = h_t-st; sum_fish[k] = 0; for(i=1;i<=sum_t;i++){ tmp = sheng[1]; tmp_i = 1; for(j=2;j<=k;j++){ if(tmp<sheng[j]){ tmp_i = j; tmp = sheng[j]; } } sum_fish[k] += sheng[tmp_i]; ans_t[k][tmp_i]++; if(sheng[tmp_i]-d[tmp_i]<0)sheng[tmp_i] = 0; else sheng[tmp_i] -= d[tmp_i]; } // for(i=1;i<=n;i++){ // cout<<k<<" "<<i<<" "<<ans_t[k][i]<<endl; // } // cout<<sum_fish[k]<<endl; } sum_fish_t = sum_fish[1]; sum_fish_i = 1; for(k=2;k<=n;k++){ if(sum_fish_t<sum_fish[k]){ sum_fish_i = k; sum_fish_t = sum_fish[k]; } } printf("%d",ans_t[sum_fish_i][1]*5); for(i=2;i<=n;i++){ printf(", %d",ans_t[sum_fish_i][i]*5); } printf("\nNumber of fish expected: %d\n\n",sum_fish_t); } return 0; }
分类:
POJ
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· 写一个简单的SQL生成工具
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)