【题解】P9586 题解
P9586 题解
被除名的验题人题解。
思路分析
模拟。
首先,如果小 C 的斩的数量大于小 D 的杀的数量,又或者小 C 的杀的数量大于小 D 的闪的数量,显然小 C 赢。
如果小 D 的斩的数量大于小 C 的杀的数量,显然小 D 赢。
但是如果小 D 的杀的数量大于小 C 的闪的数量,小 D 还不一定能赢。
因小 C 采用最优策略,那肯定是优先把对方的杀给消耗完,不然对自己有威胁。(因为杀有攻击性,而闪没有)
而小 C 只能靠斩来消耗对方的杀。所以,只有当小 D 的杀的数量减去小 C 斩的数量大于小 C 闪的数量时,小 D 才能赢。
如果谁都没赢,显然平局。
代码
#include <iostream>
int main()
{
int T;
cin >> T;
while(T--)
{
int c1, c2, c3, d1, d2, d3;
cin >> c1 >> c2 >> c3 >> d1 >> d2 >> d3;
if(c3 > d1 || c1 > d2)
{
cout << "C" << endl;
continue;
}
if(d3 > c1)
{
cout << "D" << endl;
continue;
}
d1 -= c3;
if(d1 > c2)
{
cout << "D" << endl;
continue;
}
cout << "E" << endl;
}
return 0;
}

浙公网安备 33010602011771号