#P1565. Or:Minecraft Command

Or:Minecraft Command

当前没有测试数据。

Description

在Minecraft中,Command是游戏内置的一种操作语言,现给出一段简化的Command代码,要求给出指定的输出。


约定格式如下:

ob<x>jectives add S
增加一个名为S 的计分板

players (add/remove/set) P S Nz
将目标P 在计分板S 中的分数(增加/减少/设置为) Nz

players operation P1 S1 (+=/-=/=/><) P2 S2
将目标P1 在计分板S1 中的值(增加/减少/设置为/交换) P2 在计分板S2 中的值

if score P S N1..N2 run C
若目标P 在计分板S 中的值介于N1N2 之间,执行代码CN1N2 不存在时,视为无穷小或无穷大)

unless score P S N1..N2 run C
若目标P 在计分板S 中的值不介于N1N2 之间,执行代码CN1N2 不存在时,视为无穷小或无穷大)

tellraw {score:{name:P ,ob<x>jective:S }}
输出目标P 在计分板S 中的值,每个输出占一行


return
结束输入



Input Format

n 行,每行有一个字符串,每行代表一条指令C

最后一行为 return

Output Format

共若干行,每行有一个整数 表示Command的输出




测试点数据规模与样例

对于100%的测试点,保证给定的代码无逻辑错误
对于100%的测试点,保证0<n ≤100,且 N ,Nz <105
对于100%的测试点,保证0<P.length ,S.length, C.length <10,且Pi ,Si ,Ci 均为数字或字母
对于100%的测试点,保证N 为整数,Nz 为正整数


objectives add score
objectives add ayue
objectives add const
players set yym score 750
players set yym ayue 100
players add 100 const 100
players operation yym ayue -= 100 const
if yym const 10..20 run players set eth score 700
tellraw {score:{name:yym,objective:ayue}}
players operation yym score -= eth score
unless yym score 0..100 run tellraw {score:{name:yym,objective:score}}
return
0
750

Hint

未赋值时,目标在计分板中的分数为0


对于样例的解释

ob<x>jectives add score
添加计分板score

ob<x>jectives add ayue
添加计分板ayue

ob<x>jectives add const
添加计分板const

players set yym score 750
将yym的score分数设置为750

players set yym ayue 100
将yym的ayue分数设置为100

players add 100 const 100
将100的const分数设置为100

players operation yym ayue -= 100 const
将yym的ayue分数减少100(即100在const中的分数)

if yym const 10..20 run players set eth score 700
如果yym的const分数介于10与20之间,则执行 将eth的score分数设置为700
因yym的const分数未赋值,不介于10与20之间,后续代码不执行

tellraw {score:{name:yym,ob<x>jective:ayue}}
输出yym的ayue分数,即0
players operation yym score -= eth score
将yym的score分数减少0(eth在score中未赋值,默认值为0)

unless yym score 0..100 run tellraw {score:{name:yym,ob<x>jective:score}}
如果yym的score分数不介于0到100之间,则执行 输出yym的score分数
因yym的score分数为750,不介于0与100之间,执行后续代码,输出750

return
结束代码

Source

23蓝筛5