https://www.luogu.org/problem/show?pid=1413#sub

题目描述

PVZ这款游戏中,有一种坚果保龄球。zombie从地图右侧不断出现,向左走,玩家需要从左侧滚动坚果来碾死他们。

我们可以认为地图是一个行数为6,列数为60的棋盘。zombie出现的那一秒站在这一行的第60列,之后每秒向左移动一步。玩家可以随时在屏幕最某一行第一列摆放坚果,这一行的zombie瞬间全被滚过去的坚果碾死。如果zombie走到第1列没有被消灭,如果再向左走,则你的大脑就会被zombie吃掉。

现在有n只zombie!告诉你每只zombie出现的时间以及在出现的行数(可能会同时出现同一位置的僵尸),请问至少需要多少坚果才能消灭所有的zombie。

输入输出格式

输入格式:

第一行一个正整数n,表示zombie数量。

之后n行中,每行两个正整数P和t,分别表示zombie所在行和zombie出现的时间。

输出格式:

一个正整数,最少需要的坚果数。

输入输出样例

输入样例#1:

10
1 1
1 61
2 1
2 60
3 1
3 2
3 3
3 4
4 1
4 99999

输出样例#1:

6

说明

【数据规模】

   n<=2000,t<=100000,1<=P<=6

【题目来源】

kkksc03改编

 1 #include <algorithm>
 2 #include <iostream>
 3 #include <cstdio>
 4
 5 using namespace std;
 6
 7 int n,cnt=1;
 8
 9 struct node_zombie
10 {
11     int pos,tim;
12 }zombie[2000+15];
13
14 bool cmp(node_zombie a,node_zombie b)
15 {
16     if(a.pos!=b.pos) return a.pos<b.pos;
17     else return a.tim<b.tim;
18 }
19
20 int main()
21 {
22     scanf("%d",&n);
23     for(int i=1;i<=n;i++)
24         scanf("%d%d",&zombie[i].pos,&zombie[i].tim);
25     sort(zombie+1,zombie+n+1,cmp);
26     int now_tim=zombie[1].tim; int now_pos=zombie[1].pos;
27     for(int i=2;i<=n;i++)
28     {
29         if(zombie[i].pos!=now_pos)
30         {
31             cnt++;
32             now_pos=zombie[i].pos;
33             now_tim=zombie[i].tim;
34             continue;
35         }
36         if(zombie[i].tim-now_tim>=60)
37         {
38             cnt++;
39             now_tim=zombie[i].tim;
40             continue;
41         }
42     }
43     printf("%d",cnt);
44     return 0;
45 }

转载于:https://www.cnblogs.com/Shy-key/p/6710624.html

洛谷——P1413 坚果保龄球相关推荐

  1. 洛谷 P1413 坚果保龄球

    P1413 坚果保龄球 题目描述 PVZ这款游戏中,有一种坚果保龄球.zombie从地图右侧不断出现,向左走,玩家需要从左侧滚动坚果来碾死他们. 我们可以认为地图是一个行数为6,列数为60的棋盘.zo ...

  2. [洛谷]P1413 坚果保龄球 (#贪心 -1.18)

    题目描述 PVZ这款游戏中,有一种坚果保龄球.zombie从地图右侧不断出现,向左走,玩家需要从左侧滚动坚果来碾死他们. 我们可以认为地图是一个行数为6,列数为60的棋盘.zombie出现的那一秒站在 ...

  3. 洛谷:坚果保龄球(P1413,贪心)

    PVZ这款游戏中,有一种坚果保龄球.zombie从地图右侧不断出现,向左走,玩家需要从左侧滚动坚果来碾死他们. 我们可以认为地图是一个行数为6,列数为60的棋盘.zombie出现的那一秒站在这一行的第 ...

  4. P1413 坚果保龄球洛谷c++题解

    P1413 坚果保龄球 题目描述 PVZ这款游戏中,有一种坚果保龄球.zombie从地图右侧不断出现,向左走,玩家需要从左侧滚动坚果来碾死他们. 我们可以认为地图是一个行数为6,列数为60的棋盘.zo ...

  5. |洛谷|贪心|P1413 坚果保龄球

    https://www.luogu.org/problem/show?pid=1413 把僵尸按照t为关键字从小到大排序,t相同时p为关键字 然后用a数组来存储每一道最早能拦截到的一个僵尸的编号 如果 ...

  6. P1413 坚果保龄球

    P1413 坚果保龄球 题目: PVZ这款游戏中,有一种坚果保龄球.zombie从地图右侧不断出现,向左走,玩家需要从左侧滚动坚果来碾死他们. 我们可以认为地图是一个行数为6,列数为60的棋盘.zom ...

  7. P1413 坚果保龄球——题解2020.10.10

    P1413 坚果保龄球 思路分析 由题可知棋盘大小为 6 行 60 列,游戏开始后每秒任意行的最后一列都有可能出现若干僵尸,玩家每秒可以在任意行的第一列放置若干坚果,坚果可瞬间杀死所在行的所有僵尸,僵 ...

  8. P1413 坚果保龄球 AC于2018.7.30

    原题 题目描述 PVZ这款游戏中,有一种坚果保龄球.zombie从地图右侧不断出现,向左走,玩家需要从左侧滚动坚果来碾死他们. 我们可以认为地图是一个行数为6,列数为60的棋盘.zombie出现的那一 ...

  9. 洛谷P1166 打保龄球(模拟)

    题目描述 打保龄球是用一个滚球去打击十个站立的柱,将柱击倒.一局分十轮,每轮可滚球一次或多次,以击倒的柱数为依据计分.一局得分为十轮得分之和,而每轮的得分不仅与本轮滚球情况有关,还可能与后续一两轮的滚 ...

最新文章

  1. 错误记录 ---------------------- 乱七八糟
  2. oracle 11g使用deferred_segment_creation 延迟段创建特性时遇到的问题总结
  3. MySql5.7.11 for Windows 安装(二)
  4. success for advertisement
  5. 【Shell脚本】颜色显示
  6. 基于完成端口的文件传输设计
  7. ubuntu16.04+anaconda3+python3.6安装OpenCV3.1.0
  8. 百度地图得到两地点(通过经纬度)的距离、 通过经纬度获取详细地址
  9. 7.中文输入验证-原生JS
  10. 大联合 - 单细胞测序在新冠肺炎研究中的应用进展 (PPT)
  11. linux下升级python
  12. 可优比和aag哪个好_2020年儿童床品牌排行榜,如何购买婴儿床?(可优比/思多嘉儿Stokke/好孩子/葛莱Graco)...
  13. python中字典和json的区别_详解python中的json和字典dict
  14. Referenced file contains errors
  15. html设置表格边框样式
  16. 论文笔记 | 用户画像
  17. MySQL基础(补充)
  18. 金立e3t刷android4.4,金立E3T 刷机包 百度云完美版
  19. 单源最短路径(1):Dijkstra算法
  20. 导出的 EXCEL 用 office2016 打不开

热门文章

  1. 树状数组原理及经典应用问题
  2. python-纯函数
  3. usb3.0 ssd 测试软件,对比评测告诉你USB3.0+SSD能否干掉HDD
  4. 孩子的同学写的:《恋秋 忆秋 叹秋》
  5. 助力百万企业从容上云,易建科技有六大“法宝”傍身!
  6. 一款不错的流式布局LayoutManager-FlowLayout
  7. 华为鸿蒙系统超级终端,华为再发新版鸿蒙OS系统!新增超级终端功能:可媲美iOS系统...
  8. pytest-pytest.main()运行测试用例,pytest参数
  9. 听说北京有个兄弟连!
  10. rman 备份脚本之总结分析