国战
时间限制:1000 ms
题目描述
在由 杨 * 辰创造的 F 宇宙中,有着 n 个国家,每个国家都有一个国王。
第 i 个国家的国王的性格记为 Ki 。
国王的性格为 0 代表激进, 1 代表中庸, 2 代表和平。
并且第 i 个国家有 Pi 个士兵和 Si 个劳动人民。每年,每个国家的国王都会按照自己的性格做出相应的行动,这些行动和自己国家的实力在所有国家中的排名有关。简单地说,国王会根据自己王国的排名和自己的性格做出行动。排名根据国家的实力排序。
第 i 个国家实力的计算公式: Pi*2+Si 。
每年,第 i 个国家将会有 (Pi+Si*2)*p 个新生儿,其中 p 为输入的数据,表示出生率。
国家对新生儿做出的行动有三种( F 宇宙中,新生儿一年就能长大):
①征兵策略:让所有新生儿全部成为士兵
② 劳动策略:让所有新生儿全部成为劳动人民
③ 折中策略:让一半的新生儿成为士兵,另一半成为劳动人民。若新生儿的数量为奇数,那么士兵比劳动人民多 1 。
当激进的国王排名靠前时,采用折中策略,进攻实力最小的国家。
当激进的国王排名靠后时,采用征兵策略。若自己的排名不是最后一名,那么进攻实力最小的国家。
当中庸的国王排名靠前时,采用劳动策略,进攻实力最小的国家。
当中庸的国王排名靠后时,采用征兵策略。
当和平的国王排名靠前时,采用劳动策略。
当和平的国王排名靠后时,采用折中策略。
注意:当 n 为偶数时,排名靠前表示实力排名在前一半,排名靠后表示实力排名在后一半。当 n 为奇数时,排名靠前包括排名中间的国家。
每年的每个国家按排名顺序(即按实力从大到小)行动,实力相等时按输入的顺序行动。
进攻:当第 i 个国家进攻第 j 个国家时,比较两个国家士兵的数量,士兵多的国家胜利。士兵一样时,劳动人民多的胜利。劳动人民一样时,输入时靠前的胜利。若第 i 个国家获胜,那么该国会获得 Sj 个劳动人民(这些国家非常有素质,看到其他国的士兵比自己国多的时候就直接自杀了,只留下劳动人民)。同时第 j 个国家灭亡。第 j 个国家获胜时同理。(劳动人民不参加战争,不会损失,直接根据数量判断)
在此处键入或粘贴代码
现在问你哪个国家能活到最后,输出最后国家的编号。编号即它是第几个输入的。
tip:当某一轮每个国家的行动都结束后,会锁定一个新的排名。接下来的一轮行动,每个国家都按此排名的顺序行动,且在某个国家行动后,排名暂时不更改。并且,在第一个国家行动时,这个国家的新生儿已经出生了,而其他国家的新生儿则没有出生。
输入格式
第一行一个整数 n 和一个双精度浮点数 p 。
接下来 n 行,每行三个整数,第 i+1 行的三个整数是 Ki ,Pi,Si 。
输出格式
一行一个整数,表示活到最后国家的编号
样例组
样例1
输入
3 0.5
0 1000 500
1 800 800
2 500 1000
输出
2
样例2
输入
4 0.5
0 500 500
1 400 600
0 600 300
2 1000 1000
输出
3
提示说明
1<=n<=100
0.1<=p<=1
0<=Ki<=2
0<=Pi,Si<=5000
编号从 1 开始计数
样例 1 解析:
激进的1号国首先把和平的3号国灭了,然后1号国因为折损兵力而比2号国弱,所以2号国就把1号国灭了。
注:对于 30% 的测试数据, n>90 。