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

            Why so serious? --[NKU]schindlerlee

            2010年02月05日.sgu153 經(jīng)典博弈問(wèn)題 substration game

            2010年02月05日.sgu153 經(jīng)典博弈問(wèn)題 substration game
            sgu153:這個(gè)問(wèn)題是經(jīng)典的博弈論教程<<GAME THEORY>> Thomas S. Ferguson,
            1.4 Subtraction Games 中有詳細(xì)介紹,就是狀態(tài)的逆推。

            此書(shū)在
            http://www.math.ucla.edu/~tom/Game_Theory/Contents.html
            上有下載,是作者寫(xiě)的免費(fèi)電子書(shū)。

            本題的關(guān)鍵就是找出循環(huán)節(jié),然后將n %= len;
            進(jìn)而求出最終的狀態(tài)。

            下面代碼很挫,基本屬于暴力。
             1 
             2 const int N = 1024;
             3 int stat[N];
             4 int p[N],m,n;
             5 
             6 bool find(int x)
             7 {
             8   int i;
             9   for (i = 0;i <= m;i++) {
            10     if (x - p[i] >= 0 && stat[x-p[i]] == 0) {
            11       return true;
            12     }
            13   }
            14   return false;
            15 }
            16 
            17 bool repeat(int mod,int offset,int depth)
            18 {
            19   if (depth == 0) {
            20     return true;
            21   }
            22   int i;
            23   for (i = 0;i < mod;i++) {
            24     if (stat[i+offset] != stat[i+mod+offset]) {
            25       return false;
            26     }
            27   }
            28   return repeat(mod,offset + mod,depth-1);
            29 }
            30 
            31 int main()
            32 {
            33   int i,j,k,testcase,mod = 2;
            34   stat[0= 1, stat[1= 0, p[0= 1;
            35   scanf("%d",&testcase);
            36   while (testcase--) {
            37     scanf("%d%d",&n,&m);
            38     for (i = 1;i <= m;i++) { scanf("%d",p + i); }
            39 
            40     sort(p,p+m+1);
            41     for (i = 2;i <= 1024;i++) {
            42       if (find(i)) {
            43         stat[i] = 1;
            44       }
            45     }
            46 
            47     for (i = 2;i <= 20;i++) {
            48       if (repeat(i,0,10)) {
            49         mod = i;
            50       }
            51     }
            52 
            53     if (stat[n % mod]) {
            54       puts("FIRST PLAYER MUST WIN");
            55     }else {
            56       puts("SECOND PLAYER MUST WIN");
            57     }
            58   }
            59   return 0;
            60 }
            61 


            posted on 2010-02-05 17:40 schindlerlee 閱讀(1140) 評(píng)論(0)  編輯 收藏 引用 所屬分類(lèi): 解題報(bào)告

            伊人久久无码精品中文字幕| 99久久无色码中文字幕| 思思久久好好热精品国产| 久久99热这里只频精品6| 久久亚洲中文字幕精品有坂深雪 | 久久久久亚洲av成人无码电影| 久久午夜综合久久| 中文字幕热久久久久久久| 狠狠干狠狠久久| 久久成人国产精品免费软件| 精品久久久噜噜噜久久久| 亚洲国产精品嫩草影院久久| 国内精品伊人久久久久AV影院| 久久精品国产只有精品66| 久久一日本道色综合久久| 日韩欧美亚洲国产精品字幕久久久| 精品久久亚洲中文无码| 久久亚洲精品无码观看不卡| A狠狠久久蜜臀婷色中文网| 久久国产香蕉视频| 国产亚洲精久久久久久无码| 久久影视综合亚洲| 伊人久久精品线影院| 久久精品日日躁夜夜躁欧美| 91久久九九无码成人网站| 久久综合给久久狠狠97色| 99久久精品国产一区二区| 一本久道久久综合狠狠躁AV| 欧美激情精品久久久久久久| 国产精品一区二区久久精品无码 | 国产成人精品白浆久久69| 亚洲另类欧美综合久久图片区| 国产精品久久久久久福利漫画| 久久无码国产专区精品| 亚洲va久久久久| 无码国内精品久久综合88| 久久亚洲中文字幕精品一区| 精品久久久久久无码国产| 国产韩国精品一区二区三区久久| 国产精品免费看久久久| 久久91精品国产91久久小草|