题目描述
在风靡全球的游戏《QQ魔法战争》中,玩家需要扮演一名久经沙场的英雄,英雄有各项属性,其中移动速度是一项十分重要的属性,而为了防止世界毁灭,对加速效果有一定的限制,具体为:如果一项即将到来的加速效果会使得英雄的移速大于400(单位:码/秒),那么超过400这部分的加速将只有80%的效果。例如,当一个英雄移速为380时,他被加速50%,即增加190移速,那么他最后实际移速为536=380+20+(190-20)*80%.
现在给出一个英雄的初始移速,要求得出其获得两次加速后的移动速度。
输入格式
一行给出三个由空格分隔的整数a,b,c,分别表示该英雄初始移速a,第一次该英雄获得b%的加速效果,第二次该英雄获得大小为c的速度。
输出格式
一行一个数,表示该英雄在这两次加速后最终的移动速度,要求取最终结果的整数位。
样例输入
300 22 100
样例输出
452
数据范围
0≤a≤1000,0≤b≤100,0≤c≤1000
/*如果一项即将到来的加速效果会使得英雄的移速大于400(单位:码/秒),那么超过400这部分的加速将只有80%的效果。例如,当一个英雄移速为380时,他被加速50%,即增加190移速,那么他最后实际移速为536=380+20+(190-20)*80%.
现在给出一个英雄的初始移速,要求得出其获得两次加速后的移动速度。
输入格式
一行给出三个由空格分隔的整数a,b,c,分别表示该英雄初始移速a,第一次该英雄获得b%的加速效果,第二次该英雄获得大小为c的速度。
输出格式
一行一个数,表示该英雄在这两次加速后最终的移动速度,要求取最终结果的整数位。
样例输入
300 22 100
样例输出
452
*/
# include<stdio.h>
int main()
{
int a, b, c, speed;
scanf("%d %d %d", &a, &b, &c);
speed = a;
if (speed * (100 + b) / 100 < 400)
{
speed = speed * (100 + b) / 100;
}
else if (speed * (100 + b) / 100 > 400 && speed < 400)
{
speed = 400 + (speed * (100 + b) / 100 - 400) * 4 / 5;
}
else
{
speed = speed + speed * b / 100 * 4 / 5;
}
if (speed + c < 400)
{
speed = speed + c;
}
else if (speed + c > 400 && speed < 400)
{
speed = 400 + (speed + c - 400) * 4 / 5;
}
else
{
speed =speed + c * 4 / 5;
}
printf("%d\n", speed);
return 0;
}