POJ1326浅析------Mileage Bank
2012-05-23 21:15
232 查看
Mileage Bank
Description
Mileage program of ACM (Airline of Charming Merlion) is really nice for the travelers flying frequently. Once you complete a flight with ACM, you can earn ACMPerk miles in your ACM Mileage Bank depended on mileage you actual fly.
In addition, you can use the ACMPerk mileage in your Mileage Bank to exchange free flight ticket of ACM in future.
The following table helps you calculate how many ACMPerk miles you can earn when you fly on ACM.
It's shown that your ACMPerk mileage consists of two parts. One is your actual flight mileage (the minimum ACMPerk mileage for Economy Class for one flight is 500 miles), the other is the mileage bonus (its accuracy is up to 1 mile) when you fly in Business
Class and First Class. For example, you can earn 1329 ACMPerk miles, 1994 ACMPerk miles and 2658 ACMPerk miles for Y, B or F class respectively for the fly from Beijing to Tokyo (the actual mileage between Beijing and Tokyo is 1329 miles). When you fly from
Shanghai to Wuhan, you can earn ACMPerk 500 miles for economy class and ACMPerk 650 miles for business class (the actual mileage between Shanghai and Wuhan is 433 miles).
Your task is to help ACM build a program for automatic calculation of ACMPerk mileage.
Input
The input file contains several data cases. Each case has many flight records, each per line. The flight record is in the following format:
OriginalCity DistanceCity ActualMiles ClassCode
Each case ends with a line of one zero.
A line of one # presents the end of the input file.
Output
Output the summary of ACMPerk mileages for each test case, one per line.
Sample Input
Sample Output
Hint
When calculate bonus ,be sure you rounded x.5 up to x+1
Source
Beijing 2002
题目类型: 简单计算
题目大意:给你飞机的三种舱位,头等舱F,公务舱B和经济舱Y。已知两地地名,距离n,和所乘舱位种类。算其ACMPerk mileages。
F:ACMPerk mileages=2*n; B:ACMPerk mileages=n+(n+1)/2; Y:ACMPerk mileages=n<500?500:n.
我的代码如下:
Time Limit: 1000MS | Memory Limit: 10000K | |
Total Submissions: 11853 | Accepted: 4925 |
Mileage program of ACM (Airline of Charming Merlion) is really nice for the travelers flying frequently. Once you complete a flight with ACM, you can earn ACMPerk miles in your ACM Mileage Bank depended on mileage you actual fly.
In addition, you can use the ACMPerk mileage in your Mileage Bank to exchange free flight ticket of ACM in future.
The following table helps you calculate how many ACMPerk miles you can earn when you fly on ACM.
When you fly ACM Class Code You'll earn First Class F Actual mileage + 100% mileage Bonus Business Class B Actual mileage + 50% mileage Bonus Economy Class Y 1-500 miles 500 miles 500+ miles Actual mileage
It's shown that your ACMPerk mileage consists of two parts. One is your actual flight mileage (the minimum ACMPerk mileage for Economy Class for one flight is 500 miles), the other is the mileage bonus (its accuracy is up to 1 mile) when you fly in Business
Class and First Class. For example, you can earn 1329 ACMPerk miles, 1994 ACMPerk miles and 2658 ACMPerk miles for Y, B or F class respectively for the fly from Beijing to Tokyo (the actual mileage between Beijing and Tokyo is 1329 miles). When you fly from
Shanghai to Wuhan, you can earn ACMPerk 500 miles for economy class and ACMPerk 650 miles for business class (the actual mileage between Shanghai and Wuhan is 433 miles).
Your task is to help ACM build a program for automatic calculation of ACMPerk mileage.
Input
The input file contains several data cases. Each case has many flight records, each per line. The flight record is in the following format:
OriginalCity DistanceCity ActualMiles ClassCode
Each case ends with a line of one zero.
A line of one # presents the end of the input file.
Output
Output the summary of ACMPerk mileages for each test case, one per line.
Sample Input
Beijing Tokyo 1329 F Shanghai Wuhan 433 Y 0 #
Sample Output
3158
Hint
When calculate bonus ,be sure you rounded x.5 up to x+1
Source
Beijing 2002
题目类型: 简单计算
题目大意:给你飞机的三种舱位,头等舱F,公务舱B和经济舱Y。已知两地地名,距离n,和所乘舱位种类。算其ACMPerk mileages。
F:ACMPerk mileages=2*n; B:ACMPerk mileages=n+(n+1)/2; Y:ACMPerk mileages=n<500?500:n.
我的代码如下:
#include<stdio.h> #include<string.h> int main() { int n,sum; char a[100],b[100],c; while(scanf("%s",a)&&strcmp(a,"#")!=0) { sum=0; while(strcmp(a,"0")!=0) { scanf("%s %d %c",b,&n,&c); if(c=='B') n+=(n+1)/2; else if(c=='F') n*=2; else if(c=='Y') n=n<500?500:n; sum+=n; scanf("%s",a); } printf("%d\n",sum); } return 0; }备注:赤裸裸的水题!!!一些输入的格式细节应该注意一下!!!
相关文章推荐
- 题目1484:Mileage Bank
- POJ 1326 Mileage Bank (,四舍五入法)
- ZOJ 1365 Mileage Bank
- ZOJ Problem Set - 1365 Mileage Bank
- POJ 1326 Mileage Bank(我的水题之路——模拟,四舍五入)
- POJ 1326 Mileage Bank
- 1365_Mileage Bank
- zoj 1365 Mileage Bank
- Mileage Bank
- 内存超出 题目1484:Mileage Bank
- FZU 1116 Mileage Bank
- zoj 1365 Mileage Bank
- poj 1326 Mileage Bank
- 1326 Mileage Bank
- ZOJ 1365 Mileage Bank
- Mileage Bank
- 题目1484:Mileage Bank
- ZOJ Problem Set - 1365 Mileage Bank
- 【九度】题目1484:Mileage Bank
- 题目1484:Mileage Bank