注意使用sqrt、floor,pow等函数时,要指明参数的类型,,不然poj报编译错误
#include <iostream>
#include <cmath>using namespace std;
int acmPk(int mile,char clas){
int pk=0,tmp;
switch(clas){
case 'F':
pk=mile<<1;
break;
case 'B':
tmp=(int)floor((float)mile/2+0.5f);
pk=mile+tmp;
break;
case 'Y':
if(mile<=500)pk=500;
else pk=mile;
break;
default:break;
}
return pk;
}
int main()
{
char sta[20],tar[20],typ;
int dis,acpk=0;
while(1){
scanf("%s",sta);
if(sta[0]=='#'){break;}
if(sta[0]=='0'){
printf("%d\n",acpk);
acpk=0;
continue;
}
scanf("%s%d %c",tar,&dis,&typ);
acpk+=acmPk(dis,typ);
}
return 0;
}