纯模拟,按照题目要求判断,注意小数的取舍即可。具体实现如下:
#include <cstdio>
#include <cstring>
int main()
{
bool flag = false;
int actual, sum;
char original[100], distance[100], code[10];
while(true)
{
sum = 0;
while(true)
{
scanf("%s", original);
if(strcmp(original, "#") == 0)
{
flag = true;
break;
}
if(strcmp(original, "0") == 0)
break;
scanf("%s %d %s", distance, &actual, code);
if(strcmp(code, "F") == 0)
{
sum += 2 * actual;
}
else if(strcmp(code, "B") == 0)
{
sum += actual + (actual + 1) / 2;
}
else if(strcmp(code, "Y") == 0)
{
if(actual <= 500)
{
sum += 500;
}
else
{
sum += actual;
}
}
}
if(flag)
break;
printf("%d\n", sum);
}
return 0;
}