#NC26JA. 2026年南昌市信息学竞赛普及组-T1 决斗

2026年南昌市信息学竞赛普及组-T1 决斗

决斗(duel)

  • 题目 PID:NC26JA
  • 时间限制:1 秒
  • 内存限制:512 MiB

问题背景

在近期的凹凸曼人气票选活动中,赛罗输给了迪迦,他很不服气,于是要找迪迦单挑一次。

问题描述

每个凹凸曼有 5 个基本属性:攻击力、防御力、杀伤力、速度、(初始)生命值。决斗按以下规则进行:

  1. 双方轮流攻击,速度高的一方优先攻击。如果速度相同,则以“赛罗、迪迦、迪迦、赛罗”这样的周期循环进行攻击(参见样例 2);如果速度不同,则由速度高的一方先攻,之后双方交替攻击。
  2. 每方攻击时,对对方造成的实际损伤(使对方生命值的减少量)为 $\left\lceil\text{己方杀伤力}\times\text{攻防权重}\right\rceil$。如果对方生命值降为 00 或负数,则当前进攻方获胜。攻防权重的定义见下一条,⌈ ⌉\lceil\ \rceil 表示向上取整。
  3. 如果己方攻击力 ≥\geq 对方防御力,则$$\text{攻防权重}=1+(\text{己方攻击力}-\text{对方防御力})\times5\%,$$但最高不能超过 400%400\%;否则$$\text{攻防权重}=1-(\text{对方防御力}-\text{己方攻击力})\times2.5\%,$$但最低不能低于 30%30\%。

注意:为避免浮点数误差导致可能的偏差,建议对 double 变量 xx 取上整写成 ceil(x-0.000001)。

输入格式

从文件 duel.in 中读取数据。

第 1 行 5 个正整数 a1,d1,k1,s1,h1a_1,d_1,k_1,s_1,h_1,依次表示赛罗的攻击力、防御力、杀伤力、速度、初始生命值。

第 2 行 5 个正整数 a2,d2,k2,s2,h2a_2,d_2,k_2,s_2,h_2,依次表示迪迦的攻击力、防御力、杀伤力、速度、初始生命值。

输出格式

输出到文件 duel.out。

第 1 行一个字符串表示获胜方,赛罗胜则输出 Zero,迪迦胜则输出 Tiga。

第 2 行一个正整数,表示获胜方最后还剩多少生命值。

文件读写示例

freopen("duel.in", "r", stdin);
freopen("duel.out", "w", stdout);

样例 1

1 1 1 2 1
1 1 1 1 1
Zero
1

样例 1 解释

赛罗先攻,攻防权重为 11,造成损伤为 1×1=11\times1=1,第一次攻击后就取胜,自身生命值未减少。

样例 2

1 1 1 1 4
1 1 1 1 4
Tiga
1

样例 2 解释

双方同速,按“赛罗、迪迦、迪迦、赛罗”的顺序攻击。双方攻击力、防御力、杀伤力都为 11,所以攻防权重都为 11,每次攻击造成损伤也都为 11。4 次攻击各减 2 点生命,剩余生命均为 2。接下来又轮到赛罗攻击,迪迦生命值降为 1;然后迪迦攻击,赛罗生命值降为 1;然后又是迪迦攻击,赛罗生命值降为 0,赛罗失败,迪迦剩余生命值为 1。

样例 3

30 30 50 20 250
25 25 45 15 300
Zero
90

样例 3 解释

赛罗速度 2020 大于迪迦速度 1515,赛罗先手。

赛罗打迪迦的攻防权重为 1+(30−25)×5%=1.251+(30-25)\times5\%=1.25,造成损伤为 ⌈50×1.25⌉=⌈62.5⌉=63\lceil50\times1.25\rceil=\lceil62.5\rceil=63。

迪迦打赛罗的攻防权重为 1−(30−25)×2.5%=0.8751-(30-25)\times2.5\%=0.875,造成损伤为 ⌈45×0.875⌉=⌈39.375⌉=40\lceil45\times0.875\rceil=\lceil39.375\rceil=40。

以下为战斗过程:

赛罗攻击,迪迦剩余生命值 = 300 - 63 = 237
迪迦攻击,赛罗剩余生命值 = 250 - 40 = 210
赛罗攻击,迪迦剩余生命值 = 237 - 63 = 174
迪迦攻击,赛罗剩余生命值 = 210 - 40 = 170
赛罗攻击,迪迦剩余生命值 = 174 - 63 = 111
迪迦攻击,赛罗剩余生命值 = 170 - 40 = 130
赛罗攻击,迪迦剩余生命值 = 111 - 63 = 48
迪迦攻击,赛罗剩余生命值 = 130 - 40 = 90
赛罗攻击,迪迦剩余生命值 = 48 - 63 = -15,赛罗获胜,剩余生命值为 90

数据规模与约定

对于 100%100\% 的数据,1≤a1,a2,d1,d2≤2001\leq a_1,a_2,d_1,d_2\leq200,1≤k1,k2≤1001\leq k_1,k_2\leq100,1≤s1,s2≤301\leq s_1,s_2\leq30,1≤h1,h2≤10001\leq h_1,h_2\leq1000。

难度 未评定
通过率 —
尝试 0
通过 0
ID
3910
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者

相关