QOJ.ac

QOJ

Límite de tiempo: 1.0 s Límite de memoria: 1024 MB Puntuación total: 100

#6827. 呱!

Estadísticas

你正在玩《Apex 英雄》,这是一款以拥有大量作弊者(又称“挂哥”,Mr. Gua,“Gua”在中文里意为作弊)而闻名的战术竞技游戏。

有一种作弊方式是修改枪械参数。例如,有人甚至可以像下面截图那样同时平行持两把枪,这让你不禁怀疑她是不是《英雄联盟》里的卢锡安。

Bilibili 视频:BV1V3411j7QW

在排位赛中输掉大量分数后,你因为“挂哥”的嚣张气焰和游戏开发商 Respawn 的不作为而感到愤怒。你决定写一封投诉信,教 Respawn 如何检测作弊者。

有人用一把枪杀死了你,该枪每发子弹造成的最大伤害为 $B$。这把枪的射速为 $R$ 发每分钟(RPM),这意味着射出一发子弹后,枪必须冷却至少 $1/R$ 分钟。有一种特殊情况 $R = 0$,这意味着玩家没有武器或弹药耗尽,因此无法造成任何伤害。

在回放中,玩家在 $S$ 秒内造成了 $D$ 点伤害,时间从第一发子弹算到最后一发子弹。如果我们说此人一定是通过修改枪械参数来作弊,这意味着他/她造成的伤害超过了其理论上的最大值。在这里,我们仅考虑由 $B, R, S$ 决定的最大可能伤害,忽略游戏中诸如弹匣容量、换弹时间和游戏漏洞等其他因素。

我们以上面截图中的“小帮手”(Wingman)手枪为例。这把枪在击中强化传奇(Fortified legends)身体时可以造成 38 点伤害,而作弊者在短短 1 秒内对敌人造成了 $152 = 38 \times 4$ 点伤害。由于该枪的射速仅为 156 RPM,因此在 1 秒内最多只能等待 $156/60 = 2.6$ 次冷却时间,这意味着最多只能射出 3 发子弹。因为 $4 > 3$,我们可以确定此人确实在作弊。

请编写一个演示程序,根据 $B, R, D, S$ 来判断玩家是否一定在作弊。

输入格式

第一行包含一个整数 $T(1 \le T \le 10^3)$,表示测试用例的数量。

对于每个测试用例,一行包含四个整数 $B, R, D, S(0 \le B, R, D, S \le 2000)$,分别表示单发子弹最大伤害、射速(RPM)、玩家造成的伤害以及从第一发子弹到最后一发子弹的时间窗口(秒)。

输出格式

对于每个测试用例,输出一行:

  • 如果玩家一定在作弊,输出 “gua!”(不含引号)。
  • 否则,输出 “ok”(不含引号)。

样例

输入 1

7
38 156 152 1
280 25 280 0
99 51 9 10
0 0 1 1
99 0 1 1
11 1080 209 1
11 1080 210 1

输出 1

gua!
ok
ok
gua!
gua!
ok
gua!

说明

第一个样例已在上述描述中解释。

对于第二个样例,使用克雷贝尔(Kraber)狙击步枪进行爆头是有可能的,此时时间窗口计为 0。我们不确定这是否真的作弊,尽管玩家有可能使用了某种辅助瞄准作弊。

第三个样例中,真正的青铜玩家表现正常,这提醒我们玩家可以使用像和平捍卫者(Peacekeeper)这样的霰弹枪造成“部分”伤害。只要总伤害量不超过最大可能伤害,我们就无法确定其是否真的作弊。

第四个和第五个样例是玩家没有武器或弹药耗尽的情况。因此,如果没有“高科技”的帮助,是不可能造成伤害的。

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.