申請SAE

如果您發現本博客的外觀很難看,那是因為部分外觀文件被中國.國家.防火.牆屏.蔽所致!
請翻~牆!

我的Wordpress博客的地址: http://zhuyf.tk/

2011年10月26日 星期三

NOIP2004提高組 津津的儲蓄計劃 save 解題報告

【問題描述】
津津的零花錢一直都是自己管理。每個月的月初媽媽給津津300元錢,津津會預算這個月的花銷,並且總能做到實際花銷和預算的相同。
爲了讓津津學習如何儲蓄,媽媽提出,津津可以隨時把整百的錢存在她那裏,到了年末她會加上20%還給津津。因此津津制定了一個儲蓄計劃:每個月的月初,在 得到媽媽給的零花錢後,如果她預計到這個月的月末手中還會有多於100元或恰好100元,她就會把整百的錢存在媽媽那裏,剩餘的錢留在自己手中。
例如11月初津津手中還有83元,媽媽給了津津300元。津津預計11月的花銷是180元,那麼她就會在媽媽那裏存200元,自己留下183元。到了11月月末,津津手中會剩下3元錢。
津津發現這個儲蓄計劃的主要風險是,存在媽媽那裏的錢在年末之前不能取出。有可能在某個月的月初,津津手中的錢加上這個月媽媽給的錢,不夠這個月的原定預算。如果出現這種情況,津津將不得不在這個月省吃儉用,壓縮預算。
現在請你根據2004年1月到12月每個月津津的預算,判斷會不會出現這種情況。如果不會,計算到2004年年末,媽媽將津津平常存的錢加上20%還給津津之後,津津手中會有多少錢。

【輸入文件】
輸入文件包括12行數據,每行包含一個小於350的非負整數,分別表示1月到12月津津的預算。

【輸出文件】
輸出文件包括一行,這一行只包含一個整數。如果儲蓄計劃實施過程中出現某個月錢不夠用的情況,輸出-X,X表示出現這種情況的第一個月;否則輸出到2004年年末津津手中會有多少錢。

【樣例輸入1】
290
230
280
200
300
170
340
50
90
80
200
60
【樣例輸出1】
-7

【樣例輸入2】
290
230
280
200
300
170
330
50
90
80
200
60
【樣例輸出2】
1580

【分析】
提高組的水題,直接模擬即可。

【代碼】
#include <iostream>
#include <cstdio>
using namespace std;
int main()
{
    freopen("save.in","r",stdin);
    freopen("save.out","w",stdout);
    int num[13]={0};
    for (int i=1;i<=12;i++)
        cin>>num[i];
    fclose(stdin);
    int liu=0;
    int save=0;
    for (int i=1;i<=12;i++)
    {
        liu+=300;
        liu=liu-num[i];
       
        if(liu<0)
        {
            cout<<-i<<endl;
            fclose(stdout);
            return 0;
        }
       
        if (liu>=100)
        {
            save+=(liu/100)*100;
            liu=liu-(liu/100)*100;
            continue;
        }
    }
    cout<<liu+save*6/5<<endl;
    fclose(stdout);
    return 0;
}

正在连接评测机...

已连接到评测机
GRID 1
名称 Flitty
系统版本 1.00
备注 COGS 1号评测机 Flitty
正在编译...
编译成功

测试点 结果 得分 运行时间 内存使用 退出代码
1 正确 10 0.030 s 273 KB 0
2 正确 10 0.001 s 273 KB 0
3 正确 10 0.001 s 273 KB 0
4 正确 10 0.001 s 273 KB 0
5 正确 10 0.001 s 273 KB 0
6 正确 10 0.001 s 273 KB 0
7 正确 10 0.001 s 273 KB 0
8 正确 10 0.001 s 273 KB 0
9 正确 10 0.001 s 273 KB 0
10 正确 10 0.001 s 273 KB 0
运行完成
运行时间 0.036 s
平均内存使用 273 KB
测试点通过状况 AAAAAAAAAA
得分:100
恭喜你通过了全部测试点!

沒有留言:

張貼留言