蒟蒻的尊严被打得一败涂地19

不知不觉都19了呢

回归正题——咳咳

植物大战僵尸

题目描述

坚果保龄球是植物大战僵尸中的一个小游戏。现在疯狂戴夫只给了 fuleidi一些最普通的坚果,让 fuleidi 像保龄球一样把坚果扔出去,砸死院子里的僵尸。

院子一共由 N条轨道组成,从上到下依次编号从 1 到 N,每条轨道又被分成若干格。院子里一共有 M 只僵尸,每只僵尸站在某个格子内,并且可以认为它的位置不会变化。

游戏可以分成 K 个回合,在每个回合中,你可以选择一条轨道,把一个坚果扔出去。被扔出去的坚果首先会沿着轨道直线的从左往右滚动,直到撞到第一只僵尸之后,它开始沿着 45 度的斜线滚动,并且向中心的一侧滚动(即前 N/2 行的向右下滚动,后N/2 行的向右上滚动,题目保证 N 是偶数)。院子的两边是围墙。斜着走的坚果撞到围墙或者僵尸会反弹,即从往右上走变成往右下走,或者反过来。直到坚果不再能打到任何僵尸之后,该回合结束。

注意:多只僵尸可能站在同一格,这个时候坚果每次只会撞死该格子的其中一只僵尸。为了砸死尽量多的僵尸,现在 fuleidi 决定在每回合的开始,选择在当前情况下可以砸死最多僵尸的一条路线扔出坚果。在出现相同的情况时,他会选择编号最小的轨道扔出。

为了了解这个做法的效果,现在 fuleidi 需要你帮助他计算这个方法可以砸死的僵尸数目。

输入格式

输入的第一行有 3 个整数,N,M,K。接下来 M 行,每行两个整数 Xi​, Yi​,表示第i个僵尸位于第 Yi​ 条轨道,从左数第 Xi​ 个格子中。

输出格式

输出数据包括 K+1 行。前 K 行,每行2个数据 Ai​,Bi​,表示在第 i 个回合,从第 Ai​ 条轨道扔出坚果,这个坚果在运行过程中打到了 Bi​ 个僵尸。最后一行是一个数字,表示被打到的僵尸总数。

输入输出样例

输入 #1

4 2 1
1 2
5 2

输出 #1

2 2
2

说明/提示

【数据范围】

对于 20% 的数据,保证:N≤200,M≤500,K≤200,Xi​≤200;

对于 50%的数据,保证: N≤200,M≤2×105,K≤200,Xi​≤106;

对于 100% 的数据,保证:N≤20000,M≤2×105,K≤105,Xi≤106。

对于所有的数据,保证:1≤Yi​≤N。

答案---19-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值