• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            The Fourth Dimension Space

            枯葉北風(fēng)寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢(mèng)令

            POJ 2033 Alphacode -動(dòng)態(tài)規(guī)劃

            這道題的題意大概是這樣的:給出一個(gè)字符串,如果將字母表中的26個(gè)字母依次映射成數(shù)字1-26,這樣便形成一個(gè)密碼,a cipher.學(xué)過密碼學(xué)就知道,這是一個(gè)簡單的替代密碼不過似乎并不是那么好用,雖然加密的確很方便,可是解密就麻煩了,因?yàn)榇嬖诤芏喾N解密的方法,所以本題就是要你求出一串?dāng)?shù)字究竟有多少種解密方法。

             

            個(gè)人心得:這是我寒假做的最后幾道題目的其中一道了,一拿到這道題目我就立刻想到了動(dòng)態(tài)規(guī)劃,呵呵,看來偶對(duì)dp開始有點(diǎn)感覺了;

            解本題的關(guān)鍵在于將dp[i]裝換成為dp[i-1]和dp[i-2]的關(guān)系

            首先確定dp[1]和dp[2]的值 前者肯定等于1 而后者可能為2也可能為1 這個(gè)應(yīng)該很容易判斷出來

            然后在判斷i>=3的情況

            如果ch[i]為字符‘0’ 那么dp[i]肯定等于dp[i-2].因?yàn)橐粋€(gè)字符不可能被映射成0,它必須和前一個(gè)字符成為一個(gè)整體

            如果不是字符零,那么看看這個(gè)字符與前一個(gè)字符是不是能構(gòu)成一個(gè)小于等于26且大于0的數(shù)字

            并且這個(gè)數(shù)字的第一位不是0,那么dp[i]=dp[i-1]+dp[i-2];

            如果不是讓面的兩種情況 dp[i]=dp[i-1];

             

            這個(gè)題目其實(shí)很容易想到,不過剛做的時(shí)候沒有設(shè)出temp變量,只是規(guī)定兩個(gè)數(shù)字的范圍

            '2'>=ch[i-1]>'0'&&ch[i]<='6'這樣19就被和諧掉了所以一直調(diào)都不對(duì)最后才想到的 O(∩_∩)O~


            Source Code

             

            Problem: 2033  User: abilitytao

            Memory: 272K  Time: 16MS

            Language: C++  Result: Accepted


            #include<iostream>

            using namespace std;

             

             

            long dp[50001];

            char ch[50001];

             

             

            int work(char a[])

            {

                
            int temp;

                
            int len;

                len
            =strlen(a);

                
            int i;

                dp[
            0]=1;

                temp
            =(ch[0]-'0')*10+(ch[1]-'0');

                
            if(temp>0&&temp<=26&&ch[1]!='0')

                       dp[
            1]=2;

                
            else

                       dp[
            1]=1;

                
            for(i=2;i<len;i++)

                {

                       temp
            =(ch[i-1]-'0')*10+(ch[i]-'0');

                       
            if(ch[i]=='0')

                              dp[i]
            =dp[i-2];

                      

                       
            else if(temp>0&&temp<=26&&ch[i-1]!='0')

                              dp[i]
            =dp[i-1]+dp[i-2];

                       
            else

                              dp[i]
            =dp[i-1];

                }

                
            return dp[len-1];

            }

             

            int main ()

            {

                
            while(cin>>ch)

                {

                       
            if(ch[0]=='0')

                              
            break;

                       cout
            <<work(ch)<<endl;

                }

                
            return 0;

            }


            posted on 2009-02-19 13:09 abilitytao 閱讀(1678) 評(píng)論(0)  編輯 收藏 引用


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


            国产精品毛片久久久久久久| 日产精品久久久久久久性色| 国产精品99久久不卡| 观看 国产综合久久久久鬼色 欧美 亚洲 一区二区 | 精品久久一区二区三区| 国产2021久久精品| 久久精品国产亚洲αv忘忧草 | 国产精品久久久久久久久| 久久99国产精品久久99| 久久精品国产精品亚洲艾草网美妙| 怡红院日本一道日本久久| 色8激情欧美成人久久综合电| 久久精品一本到99热免费| 香蕉久久一区二区不卡无毒影院 | 久久精品国产亚洲av日韩| 亚洲天堂久久精品| 亚洲精品白浆高清久久久久久| 91精品国产综合久久香蕉| 一本一道久久综合狠狠老| 欧美麻豆久久久久久中文| 成人妇女免费播放久久久| 中文字幕无码久久久| 国产亚洲精久久久久久无码AV| 亚洲狠狠婷婷综合久久蜜芽| 无码精品久久一区二区三区 | www.久久热| 色综合久久无码五十路人妻| 午夜精品久久久久久| 久久精品国产久精国产| 99久久久精品| 国产人久久人人人人爽| 久久久久久夜精品精品免费啦 | 久久久精品人妻一区二区三区四 | 欧美精品丝袜久久久中文字幕| 99国产欧美久久久精品蜜芽| 亚洲AV日韩精品久久久久久久| 亚洲va久久久久| 色88久久久久高潮综合影院| 日日噜噜夜夜狠狠久久丁香五月| 天堂久久天堂AV色综合| 99久久精品国产免看国产一区|