查看: 1502|回復: 0
打印 上一主題 下一主題

[ZJ] a830 - 超級細菌( bacteria )

[複製鏈接]
  • TA的每日心情
    慵懶
    2015-4-10 14:18
  • 簽到天數: 78 天

    [LV.6]常住居民II

    176

    主題

    612

    帖子

    3959

    積分

    管理員

    Rank: 9Rank: 9Rank: 9

    積分
    3959

    台南一中資訊社新手達陣程式設計達人 - 2014

    跳轉到指定樓層
    樓主
    發表於 2014-6-25 15:02:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式

    趕快加入我們來參與討論吧!

    您需要 登錄 才可以下載或查看,沒有帳號?加入我們

    x
    原題:http://zerojudge.tw/ShowProblem?problemid=a830
    AC:http://zerojudge.tw/Submissions? ... mp;account=lfs92002
    解題方向:動態規劃DP


    /**********************************************************************************/
    /*  Problem: a830 "超級細菌( bacteria )" from 102北市賽                    */
    /*  Language: CPP (416 Bytes)                                                     */
    /*  Result: NA(score:20) judge by this@ZeroJudge                                  */
    /*  Author: lfs92002 at 2014-06-24 21:18:46                                       */
    /**********************************************************************************/


    #include<iostream>
    using namespace std;

    int main()
    {
            int DP[101][3]={0};
            int M,N,W,X,Y,Z;
            cin>>M>>N>>W>>X>>Y>>Z;
            DP[0][0]=N;
            DP[0][1]=M;
            DP[0][2]=M;
            for(int i=1;i<=W;++i)
            {
                    if(i>=Y)
                            DP[i][0]=DP[i-Y][1]*Z;
                   
                    if(i>=X)
                            DP[i][1]=DP[i-X][0];
                    if(i>=Y)
                            DP[i][1]+=DP[i-Y][1];

                    if(i>=X)
                            DP[i][2]=DP[i-X][0];
                    DP[i][2]+=DP[i-1][2];
            }
            int sum=DP[W][2];
            for(int i=0;i<X;++i)
                    sum+=DP[W-i][0];
            cout<<sum<<endl;
    }


    回復

    使用道具 檢舉

    您需要登錄後才可以回帖 登入 | 加入我們

    本版積分規則

    快速回覆 返回頂部 返回列表