[HDU] 4519 郑厂长系列故事——体检
题目连接:
http://acm.hdu.edu.cn/showproblem.php?pid=4519
方法:模拟,如果员工人数小于等于医生人数,则有多少检查项目就需要多少分钟,否则,设有m个医生,则在员工中的前m个的一项先被m个医生并行检查,这样耗去1分钟,然后移动到后m个,依次平移,当后面所剩余的员工不够m时,开始不够的那个员工边重新定位到开始位置,这样,多次迭代,总是最开始检查的员工完成检查,这样前面的员工边不再检查,就要为每次回绕的时候设置新的开始位置,直到开始位置大于员工数量。
代码:
#include<iostream> #include<queue> #include<map> #include<string> #include <algorithm> using namespace std; int const MAX =100001; int main() { int n,k,m,tc; scanf ( "%d" ,&tc); while (tc>0) { scanf ( "%d %d %d" ,&n,&k,&m); if (n<=m) cout<<k<<endl; else { int nums[101]; memset (nums,0, sizeof (nums)); int start = 1; int re =0; int j=0; for ( int i=start;start<=n;i++) { j++; if (j%m==0) { re++; j=0; } if (i>n) i=start; nums[i]++; if (nums[i]==k) start++; } if (j!=0) re++; cout<<re<<endl; } tc--; } return 0; } |
感想:推不出数学公式。。
分类:
算法训练-模拟
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· 现代计算机视觉入门之:什么是视频
· 【译】我们最喜欢的2024年的 Visual Studio 新功能
· 个人数据保全计划:从印象笔记迁移到joplin
· Vue3.5常用特性整理
· 重拾 SSH:从基础到安全加固
· 为什么UNIX使用init进程启动其他进程?