题目描述: 在一个有19个格子的武林世界里,小许飞刀和朱留香两位大侠在为独霸武林而互相厮杀。武林世界的第一个格子的编号是1,最后一个格子的编号为19。
小许飞刀总是在来回不停地一格一格地行走,先往右走,走到头不能再走时就往左走,再到头则又往右走……比如,17->18->19->18……。
轻功很好的朱留香总是在来回不停地两格两格地跳,先往右跳,跳到头不能再跳时就往左跳,再到头则又往右跳…比如,17->19->17->15……。
每名大侠有内力、武艺、和生命力三种属性。这三种属性的取值范围一开始都是大于等于0,小于等于100。
当两名大侠进入同一个格子时,一定会发生一次战斗,而且也只有在这种情况下,才会发生战斗。 一次战斗的结果将可能导致参战双方生命力发生变化,计算方法为:
战后生命力 = 战前生命力 - 对方攻击力
而不同大侠的攻击力计算方法不同:
小许飞刀的攻击力 = (0.5 * 内力 + 0.5 * 武艺) * (战前生命力 + 10) / 100
朱留香的攻击力 = (0.2 * 内力 + 0.8 * 武艺) * (战前生命力 + 10) / 100
对攻击力的计算过程为小数运算,最终结果去掉小数部分后再取整,使得攻击力总是整数。 一次战斗结束后,生命力变为小于或等于0的人,被视为“战死”,尸体会留在这个格子中不能移动。 两名大侠相遇时,只发生一次战斗。 战斗完了接着走。 初始状态下,不存在生命值小于或等于0的人。
一系列战斗从初始状态就可能爆发,全部战斗结束后,仍然活着的人才开始继续走。总之,不停地战斗-行走-战斗-行走……。 你需要做的是,从一个初始状态,算出经过N步(N < 1000)后的状态。所有的人进行完全部战斗(当然也可能没有任何战斗发生),然后再一齐或走或跳,这称为一步。
输入:
第一行是行走步数 N。 接下来的若干行,每行描述一名大侠的位置及其各项参数。格式为“大侠代号 格子编号 内力 武艺 生命力”。大侠代号就是一个字母: ‘X’ 代表小许飞刀 ‘Z’ 代表朱留香
比如: X 10 10 3 10 表示小许飞刀一开始在第10个格子中,他的内力是 10,武艺是3,生命力是10。
输出:
针对每组测试数据,您的输出应该是2行,每行有空格分隔的三个值,第一个是大侠代号,第二个是他所在格子编号,第三个是现存生命力。输出文件的名字是‘学号.txt’,假设你的学号是15010101,则输出文件的名字就是‘15010101.txt’。
假设in.txt文件中内容为:
40
X 7 50 40 100
Z 10 50 40 100
则输出文件内容应该为:
X 11 10
Z 4 -5
小许飞刀总是在来回不停地一格一格地行走,先往右走,走到头不能再走时就往左走,再到头则又往右走……比如,17->18->19->18……。
轻功很好的朱留香总是在来回不停地两格两格地跳,先往右跳,跳到头不能再跳时就往左跳,再到头则又往右跳…比如,17->19->17->15……。
每名大侠有内力、武艺、和生命力三种属性。这三种属性的取值范围一开始都是大于等于0,小于等于100。
当两名大侠进入同一个格子时,一定会发生一次战斗,而且也只有在这种情况下,才会发生战斗。 一次战斗的结果将可能导致参战双方生命力发生变化,计算方法为:
战后生命力 = 战前生命力 - 对方攻击力
而不同大侠的攻击力计算方法不同:
小许飞刀的攻击力 = (0.5 * 内力 + 0.5 * 武艺) * (战前生命力 + 10) / 100
朱留香的攻击力 = (0.2 * 内力 + 0.8 * 武艺) * (战前生命力 + 10) / 100
对攻击力的计算过程为小数运算,最终结果去掉小数部分后再取整,使得攻击力总是整数。 一次战斗结束后,生命力变为小于或等于0的人,被视为“战死”,尸体会留在这个格子中不能移动。 两名大侠相遇时,只发生一次战斗。 战斗完了接着走。 初始状态下,不存在生命值小于或等于0的人。
一系列战斗从初始状态就可能爆发,全部战斗结束后,仍然活着的人才开始继续走。总之,不停地战斗-行走-战斗-行走……。 你需要做的是,从一个初始状态,算出经过N步(N < 1000)后的状态。所有的人进行完全部战斗(当然也可能没有任何战斗发生),然后再一齐或走或跳,这称为一步。
输入:
第一行是行走步数 N。 接下来的若干行,每行描述一名大侠的位置及其各项参数。格式为“大侠代号 格子编号 内力 武艺 生命力”。大侠代号就是一个字母: ‘X’ 代表小许飞刀 ‘Z’ 代表朱留香
比如: X 10 10 3 10 表示小许飞刀一开始在第10个格子中,他的内力是 10,武艺是3,生命力是10。
输出:
针对每组测试数据,您的输出应该是2行,每行有空格分隔的三个值,第一个是大侠代号,第二个是他所在格子编号,第三个是现存生命力。输出文件的名字是‘学号.txt’,假设你的学号是15010101,则输出文件的名字就是‘15010101.txt’。
假设in.txt文件中内容为:
40
X 7 50 40 100
Z 10 50 40 100
则输出文件内容应该为:
X 11 10
Z 4 -5