题意:

给出第一天的时候鸟拥有的食物储量,给出鸟每天要吃的食物量,接下来有m组数据,每一行代表某只鸟在第几天的时候收获了多少食物,输出所有鸟在最后一次收获食物之后一天的状况(死了或者剩多少食物)。

思路:

模拟就好,队友打的,具体的细节看代码。

代码:

#include<cstdio>
#include<cstring>
#include<climits>
#include<cmath>
#include<cstdlib>
#include<iostream>
#include<algorithm>
#include<string>
#include<queue>
#include<map>
#include<vector>
#include<set>
#include<sstream>using namespace std;const int maxn = 100005;
struct B {string name;int x, y;
}b[maxn];
bool cmp(B a, B b) {if(a.name != b.name) {return a.name < b.name;}if(a.x != b.x) return a.x < b.x;
}int main()
{int t, n, s, k;
//  freopen("a.txt","r",stdin);scanf("%d",&t);for(int kase = 1; kase <= t; kase++) {scanf("%d",&n);scanf("%d %d",&s, &k);for(int i = 0; i < n; i++) {cin >> b[i].name >> b[i].x >> b[i].y;}sort(b, b + n, cmp);//     for(int i = 0; i < n; i++) {
//          cout << b[i].name << " " << b[i].x << " " << b[i].y << endl;
//      }puts("");printf("Case #%d:\n", kase);bool flag = true;string na = b[0].name;int zong = s;int shang = 1;for(int i = 0; i <= n; i++){if(b[i].name != na || i == n) {if(flag == false) {cout << b[i - 1].name <<  " died." << endl;} else {cout << b[i - 1].name <<  " " << zong << endl;}flag = true;zong = s;shang = 1;zong = zong - (b[i].x - shang) * k;if(zong < 0) {flag = false;} else {zong += b[i].y;zong -= k;if(zong < 0) {flag = false;}}shang = b[i].x + 1;na = b[i].name;if(zong < 0) {flag = false;}} else {if(i > 0 && b[i].name == b[i - 1].name && b[i].x == b[i - 1].x) {zong += b[i].y;}zong = zong - (b[i].x - shang) * k;if(zong < 0) {flag = false;} else {zong += b[i].y;zong -= k;if(zong < 0) {flag = false;}}shang = b[i].x + 1;}}puts("");}return 0;
}

hust1341(模拟)相关推荐

  1. springboot实现SSE服务端主动向客户端推送数据,java服务端向客户端推送数据,kotlin模拟客户端向服务端推送数据

    SSE服务端推送 服务器向浏览器推送信息,除了 WebSocket,还有一种方法:Server-Sent Events(以下简称 SSE).本文介绍它的用法. 在很多业务场景中,会涉及到服务端向客户端 ...

  2. curl模拟post请求

    另外可尝试 postman工具 或者用request 直接请求 CURL 发送POST请求curl -header "Content-Type: application/json" ...

  3. flask_模拟请求post,get

    #coding:utf-8 import requestsres = requests.post(url="http://192.168.135.105:8888/",data={ ...

  4. 模拟内存计算如何解决边缘人工智能推理的功耗挑战

    模拟内存计算如何解决边缘人工智能推理的功耗挑战 How analog in-memory computing can solve power challenges of edge AI inferen ...

  5. 为放大器模拟输入模块提供可靠的输入过电压保护

    为放大器模拟输入模块提供可靠的输入过电压保护 Signal Chain Basics #159: Provide robust input overvoltage protection for amp ...

  6. 模拟Servlet本质

    JavaWeb系列教程,持续更新 JavaWeb-Servlet 模拟Servlet本质 使用IDEA开发Servlet程序 Servlet对象的生命周期 适配器(GenericServlet)改造S ...

  7. 2021年大数据Flink(四十):​​​​​​​Flink模拟双十一实时大屏统计

    目录 Flink模拟双十一实时大屏统计 需求 数据 编码步骤: 1.env 2.source 3.transformation 4.使用上面聚合的结果,实现业务需求: 5.execute 参考代码 实 ...

  8. Python:模拟登录、点击和执行 JavaScript 语句案例

    案例一:网站模拟登录 # douban.pyfrom selenium import webdriver from selenium.webdriver.common.keys import Keys ...

  9. 杨老师课堂_Java核心技术下之控制台模拟文件管理器案例

    背景需求介绍: 编写一个模拟文件管理器的程序,实现控制台对文件和文件夹的管理操作. 要求在此程序中: 当用户输入指令 1 时,代表"指定关键字检索文件",此时需要用户输入检索的目录 ...

最新文章

  1. 新工作总结之权限系统设计
  2. Linux 使用NC命令永久监听本地端口
  3. Code128条形码
  4. parse_str与http_build_query的使用
  5. python计算n的32次方_获得用户输入的一个整数N,计算并输出N的32次方。_学小易找答案...
  6. 【网搜】禁止 number 输入非数字(Android仍有问题)
  7. WPF 获取鼠标屏幕位置、窗口位置、控件位置
  8. 《SAS编程与数据挖掘商业案例》学习笔记之四
  9. 信息学奥赛C++语言:被3整除
  10. 数百名车主因断网被锁车外 马斯克:将确保此类事件不再发生
  11. 如何在硅谷一夜暴富?
  12. 朋友很喜欢打篮球,我用Python爬取了1000张他喜欢的NBA球星图片送给他【内附源码】
  13. python要记多少个单词是合理的_词汇量少的人每天背多少单词合适?
  14. 在Windows下正确安装Scipy与Numpy
  15. python数据分析之(3)pandas
  16. 7个Python实战项目代码,让你感受下大神是如何起飞的!
  17. 新建samba配置步骤
  18. stardict词典全集
  19. ubantu 搭建我的世界java服务器 spigot核心
  20. 开源的远程桌面软件RustDesk

热门文章

  1. 五一扣球练习2021-05-01
  2. 台湾大学林轩田机器学习基石课程学习笔记1 -- The Learning Problem
  3. 机器学习中的MLE、MAP和贝叶斯估计
  4. 经济学中的定量分析python_Sargent定量经济学(3):Python
  5. [java进阶]4.关键字throws和throw
  6. PowerDesigner16中的对象无效,不允许有扩展属性 问题的解决
  7. 解决“打开ArcGIS Server Manager”网页无反应为空白的情况
  8. 批处理之列出目录下所有文件
  9. 用delphi操作mapinfo
  10. 使用TWebBrowser组件保存网页为html和mht文件 收藏