• <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>
            posts - 43,  comments - 9,  trackbacks - 0
            http://acm.hdu.edu.cn/showproblem.php?pid=1005
            A number sequence is defined as follows:
            f(1) = 1, f(2) = 1, f(n) = (A * f(n - 1) + B * f(n - 2)) mod 7.
            Given A, B, and n, you are to calculate the value of f(n).
            1 <= A, B <= 1000, 1 <= n <= 100,000,000

            解:
            f(n) = (A * f(n - 1) + B * f(n - 2)) %7
                  = (A * f(n - 1) %7 + B * f(n - 2) %7) %7
            所以對于給定的A和B,可以先打表,找出數(shù)列的循環(huán)部分. 鴿巢原理知,狀態(tài)總數(shù)不會超過7*7
            注意循環(huán)節(jié)不一定從f(3)開始...

             1#include <iostream>
             2using namespace std;
             3
             4int a,b,n,x,y,l,h,m[7][7],q[300];
             5int main(){
             6    while(scanf("%d%d%d",&a,&b,&n)!=EOF && (a||b||n)){
             7        memset(m, 0sizeof(m));
             8        q[1= q[2= 1;
             9        x = y = 1; l=3;
            10        while(m[x][y]==0)//該狀態(tài)還未經(jīng)歷過,則擴(kuò)展
            11            q[l] = (a*x+b*y)%7;
            12            m[x][y] = l;
            13            y = x;
            14            x = q[l++];
            15        }

            16        //此時(shí),q[1h-1]為前面的非循環(huán)部分
            17         //q[hl-1]為循環(huán)節(jié)
            18        h = m[x][y]; //循環(huán)節(jié)的起始位置
            19        if(n<h) printf("%d\n",q[n]);
            20        else printf("%d\n",q[((n-h)%(l-h))+h]);
            21    }

            22    return 0;
            23}

            posted on 2009-04-25 11:55 wolf5x 閱讀(917) 評論(0)  編輯 收藏 引用 所屬分類: acm_icpc
            <2011年8月>
            31123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            "Do not spend all your time on training or studying - this way you will probably become very exhausted and unwilling to compete more. Whatever you do - have fun. Once you find programming is no fun anymore – drop it. Play soccer, find a girlfriend, study something not related to programming, just live a life - programming contests are only programming contests, and nothing more. Don't let them become your life - for your life is much more interesting and colorful." -- Petr

            留言簿(3)

            隨筆分類(59)

            隨筆檔案(43)

            cows

            搜索

            •  

            最新評論

            評論排行榜

            999久久久国产精品| 久久久久亚洲AV无码观看 | 免费观看久久精彩视频| 久久99精品免费一区二区| 久久久www免费人成精品| 青草影院天堂男人久久| 久久久久久久精品妇女99| 久久久久久狠狠丁香| 人妻无码中文久久久久专区| 国内精品免费久久影院| AV色综合久久天堂AV色综合在| 免费一级欧美大片久久网| 国产精品久久久久久久久鸭| 久久天天躁狠狠躁夜夜2020一| 国产AⅤ精品一区二区三区久久| 囯产精品久久久久久久久蜜桃 | 亚洲国产成人精品无码久久久久久综合| 国产偷久久久精品专区| 亚洲国产天堂久久综合| 狠狠色丁香婷婷综合久久来来去| 亚洲AV无码久久精品成人| 国产精品久久久久蜜芽| 久久国产精品偷99| 超级碰久久免费公开视频| 国产精品久久国产精麻豆99网站 | 国产精品亚洲美女久久久| 国产午夜久久影院| 精品综合久久久久久97超人| 久久国产亚洲精品无码| 久久精品国产精品亚洲毛片| 精品熟女少妇a∨免费久久| 伊人久久精品无码av一区| 亚洲欧美一区二区三区久久| 久久天天躁夜夜躁狠狠| 无码伊人66久久大杳蕉网站谷歌 | 欧美久久久久久午夜精品| 久久国产V一级毛多内射| 久久国产综合精品五月天| 久久久久九国产精品| 99久久国产亚洲综合精品| 久久精品人成免费|