• <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>

            題意:

            給定兩個(gè)非負(fù)數(shù),可以用較小那個(gè)數(shù)的任意正整數(shù)倍數(shù)去減較大那個(gè)數(shù),但要保證結(jié)果非負(fù)。兩個(gè)人輪流操作,結(jié)果中先出現(xiàn)0的那個(gè)人獲勝。

             

            第一次做博弈題,不知如何下手。這里認(rèn)真分析一下。

             

            假設(shè)兩個(gè)數(shù)a b,他們的大小關(guān)系無(wú)非是a>b,a<b,a==b中的一種,對(duì)本題二樣前兩種其實(shí)是同一種情況,第三種情況時(shí)結(jié)果已經(jīng)出來(lái)了(此時(shí)輪到誰(shuí)誰(shuí)獲勝)。

             

            我們?cè)賮?lái)討論a>ba<b)的情況,又可細(xì)分為:

            b<a<2 * b (1)

            a == 2 * b (2)

            a >2*b (3)

            對(duì)情況(1,選手沒(méi)得選,只能用較小的樹(shù)去減較大的數(shù),下一個(gè)狀態(tài)一定是ba%b。也就是說(shuō)這種狀態(tài)的出現(xiàn)不會(huì)影響最終結(jié)果。

            情況(2,顯然,也可以結(jié)束游戲了,當(dāng)前選手贏了。

            情況(3,此時(shí)選手可以決定下一個(gè)狀態(tài)是下面狀態(tài)中的一種:

            a-b, b

            a-2*b, b

            a-3*b, b

            .

            .

            .

            a%b+b, b k-1

            b, a%b k

            由于兩個(gè)選手必須輪流操作,因此,兩相鄰的狀態(tài)的輸贏結(jié)果一定相反。而此時(shí),選手恰恰可以決定是到狀態(tài)(k-1)還是到狀態(tài)(k(狀態(tài)(k-1)的下一個(gè)狀態(tài)一定是狀態(tài)(k),因?yàn)榍闆r(1)),也就是說(shuō)此時(shí)選手能決定自己的輸贏

             

            綜上我們可以得到如下結(jié)論

            出現(xiàn)下述情況之一的就可斷定當(dāng)前選手獲勝:

            1.a==b

            2.a>=2*b

             

            細(xì)節(jié):如果一開(kāi)始輸入數(shù)據(jù)為a0,本題認(rèn)為Ollie wins

            import java.io.*;
            import java.util.*;

            class Main {
                
                static boolean firstWin;
                public static void main(String[] args) throws IOException{
                    int a, b;
                    Scanner sc = new Scanner(System.in);
                    
                    a = sc.nextInt();
                    b = sc.nextInt();
                    while(a != 0 || b != 0){
                        firstWin = true;//初始認(rèn)為Stan wins
                        if(a >= b)
                            get(a, b);
                        else
                            get(b, a);
                        
                        if(firstWin)
                            System.out.println("Stan wins");
                        else
                            System.out.println("Ollie wins");
                        a = sc.nextInt();
                        b = sc.nextInt();
                        
                    }
                }
                public static void get(int a, int b){//a >= b
                    if(a == b)
                        return;
                    if(b == 0){//邊界情況,如果一開(kāi)始輸入是b為零,我們認(rèn)為Ollie wins
                        firstWin =  !firstWin;
                        return;
                    }
                    if(a / b >= 2)
                        return;
                    
                    firstWin =  !firstWin;
                    get(b, a % b);
                }
            }

             

            posted on 2013-05-04 16:21 小鼠標(biāo) 閱讀(262) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 博弈

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


            <2012年8月>
            2930311234
            567891011
            12131415161718
            19202122232425
            2627282930311
            2345678

            常用鏈接

            隨筆分類(111)

            隨筆檔案(127)

            friends

            最新評(píng)論

            閱讀排行榜

            久久se精品一区精品二区国产| 99久久国产综合精品网成人影院| 国产精品99久久久久久猫咪| 久久精品国产亚洲av日韩| 久久强奷乱码老熟女网站| 精品久久久一二三区| 久久亚洲精品无码播放| 久久99精品久久久久久水蜜桃| 97久久精品午夜一区二区| 97精品伊人久久大香线蕉app| 久久精品欧美日韩精品| 精品久久久久久国产| 国产三级精品久久| 久久av高潮av无码av喷吹| 久久久久九九精品影院| 无码8090精品久久一区 | 久久婷婷人人澡人人| 国产成人AV综合久久| 久久精品国产亚洲5555| 亚洲乱码日产精品a级毛片久久| 一本大道久久东京热无码AV| 无码国内精品久久人妻蜜桃| 久久99精品久久久久久久久久 | 亚洲综合久久夜AV | 国产欧美久久久精品影院| 亚洲精品乱码久久久久久| 久久精品国产精品青草app| 久久久久国产视频电影| 亚洲中文精品久久久久久不卡| 99久久免费国产精精品| 久久久久综合国产欧美一区二区 | 久久久精品人妻一区二区三区蜜桃| 亚洲国产欧美国产综合久久 | 久久精品国产亚洲av日韩| 久久精品国产72国产精福利| 久久久久精品国产亚洲AV无码| 久久久一本精品99久久精品66 | 国産精品久久久久久久| 日产精品久久久久久久性色| 国产精品内射久久久久欢欢| 日韩精品久久久久久免费|