POJ 1326

题意:给出航线 的长度,经济舱500公里以下算500公里,否则算actual mileage。商务舱算实际里程×1.5。头等舱实际里程×2。根据给出的航班,求出总的mileage bank中的值。

 

思路:模拟,很简单,可是题意一开始没理解对,错了几次。

顺便说,不存在discuss中所说的一个城市名分了两部分这样的数据,四舍五入也很好处理。不难

 

统计:236k, 0ms

 

#include <iostream> #include <string> #define F(i,a,b) for (int i=a;i<=b;i++) using namespace std; int main() { string str; int len, sum; char c; while ( cin >> str && str !="#" ) { if ( str == "0" ) cin >> str; sum = 0; do { cin >> str >> len >> c; switch(c) { case 'Y': sum += (len<500? 500 : len ); break; case 'B': sum += (int) (len*1.5+0.5) ; break; case 'F': sum += len * 2; break; } cin >> str; } while (str !="0" ); printf("%d/n", sum ); } return 0; } 

你可能感兴趣的:(c,String,BI)