1. 程式人生 > >2017年第九屆藍橋杯【C++省賽B組】

2017年第九屆藍橋杯【C++省賽B組】

名稱 style 額的 str 思路 scan 程序 一個 查找

標題: 購物單


小明剛剛找到工作,老板人很好,只是老板夫人很愛購物。老板忙的時候經常讓小明幫忙到商場代為購物。小明很厭煩,但又不好推辭。

這不,XX大促銷又來了!老板夫人開出了長長的購物單,都是有打折優惠的。
小明也有個怪癖,不到萬不得已,從不刷卡,直接現金搞定。
現在小明很心煩,請你幫他計算一下,需要從取款機上取多少現金,才能搞定這次購物。

取款機只能提供100元面額的紙幣。小明想盡可能少取些現金,夠用就行了。
你的任務是計算出,小明最少需要取多少現金。

以下是讓人頭疼的購物單,為了保護隱私,物品名稱被隱藏了。
-----------------
**** 180.90 88折

**** 10.25 65折
**** 56.14 9折
**** 104.65 9折
**** 100.30 88折
**** 297.15 半價
**** 26.75 65折
**** 130.62 半價
**** 240.28 58折
**** 270.62 8折
**** 115.87 88折
**** 247.34 95折
**** 73.21 9折
**** 101.00 半價
**** 79.54 半價
**** 278.44 7折
**** 199.26 半價
**** 12.97 9折
**** 166.30 78折
**** 125.50 58折
**** 84.98 9折
**** 113.35 68折
**** 166.57 半價
**** 42.56 9折
**** 81.90 95折
**** 131.78 8折
**** 255.89 78折
**** 109.17 9折
**** 146.69 68折
**** 139.33 65折
**** 141.16 78折
**** 154.74 8折
**** 59.42 8折
**** 85.44 68折
**** 293.70 88折
**** 261.79 65折
**** 11.30 88折
**** 268.27 58折
**** 128.29 88折
**** 251.03 8折
**** 208.39 75折
**** 128.88 75折
**** 62.06 9折
**** 225.87 75折
**** 12.89 75折
**** 34.28 75折
**** 62.16 58折
**** 129.12 半價
**** 218.37 半價
**** 289.69 8折
--------------------

需要說明的是,88折指的是按標價的88%計算,而8折是按80%計算,余者類推。
特別地,半價是按50%計算。

請提交小明要從取款機上提取的金額,單位是元。
答案是一個整數,類似4300的樣子,結尾必然是00,不要填寫任何多余的內容。


解題思路:先用word查找替換掉沒有信息,處理為有用的信息,之後寫程序即可。

     180.90       8.8
      10.25       6.5
      56.14        9
     104.65        9
     100.30       8.8
     297.15        5
      26.75       6.5
     130.62        5
     240.28       5.8
     270.62        8
     115.87       8.8
     247.34       9.5
      73.21        9
     101.00        5
      79.54        5
     278.44        7
     199.26        5
      12.97        9
     166.30       7.8
     125.50       5.8
      84.98        9
     113.35       6.8
     166.57        5
      42.56        9
      81.90       9.5
     131.78        8
     255.89       7.8
     109.17        9
     146.69       6.8
     139.33       6.5
     141.16       7.8
     154.74        8
      59.42        8
      85.44       6.8
     293.70       8.8
     261.79       6.5
      11.30       8.8
     268.27       5.8
     128.29       8.8
     251.03        8
     208.39       7.5
     128.88       7.5
      62.06        9
     225.87       7.5
      12.89       7.5
      34.28       7.5
      62.16       5.8
     129.12        5
     218.37        5
     289.69        8
#include<cstring>
#include<cstdio>
int main()
{
    double ans,a,b;
    ans=0;
    while(scanf("%lf%lf",&a,&b)!=EOF)
    {
        ans+=a*b*0.1;
        printf("%lf",ans);
    }
    return 0;
}

2017年第九屆藍橋杯【C++省賽B組】