• <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月08日星期一.sgu159 && pku2205 dfs

            2010年02月08日星期一.sgu159 && pku2205 dfs
            /*
             * SOUR:sgu159 && pku2205
             * ALGO:dfs... ...
             * DATE: 2010年 02月 07日 星期日 23:16:59 CST
             * COMM:4 dfs
             * 如果P[n]是符合條件的那么必須有P[n-1]是符合條件的。所以可以從0位開始按位在數(shù)的前段
             * 添加數(shù),而在搜索的過(guò)程中由于P[n-1]是符合條件的所以只需要判斷最高位是否符合條件即可。
             * 不好想啊,我想到了這個(gè)符合條件,但是卻還是沒想到還能這么搜
             * */

            本題我的思路就是按位擴(kuò)展+高精,以下精妙算法完全來(lái)自
            http://162.105.81.212/JudgeOnline/showmessage?message_id=93126
             1 
             2 const int N = 2048;
             3 int n,bas,top;
             4 int g[N][N];
             5 int a[N];
             6 
             7 void dfs(int idx,int sum)
             8 {
             9   if (idx == n) {
            10       if (a[idx-1|| n == 1) {
            11           for (int i = 0;i < n;i++) {
            12               g[top][i] = a[i];
            13           }
            14           top++;
            15       }
            16       return ;
            17   }
            18   for (int i = 0;i < bas;i++) {
            19       a[idx] = i;
            20       int tmp = 0;
            21       for (int j = 0;j <= idx;j++) {
            22           tmp += a[j] * a[idx-j];
            23       }
            24       if ((sum + tmp) % bas == i) {
            25           dfs(idx + 1,(sum + tmp) / bas);
            26       }
            27   }
            28 }
            29 
            30 int main()
            31 {
            32   int i,j,k;
            33   scanf("%d%d",&bas,&n);
            34   dfs(0,0);
            35   printf("%d\n",top);
            36   for (i = 0;i < top;i++) {
            37       for (j = n - 1;j >= 0;j--) {
            38           if (g[i][j] >= 10) {
            39               printf("%c",g[i][j] - 10 + 'A');
            40           }else {
            41               printf("%d",g[i][j]);
            42           }
            43       }
            44       printf("\n");
            45   }
            46   return 0;
            47 }
            48 


            posted on 2010-02-08 00:41 schindlerlee 閱讀(926) 評(píng)論(0)  編輯 收藏 引用 所屬分類: 解題報(bào)告

            免费观看久久精彩视频 | 久久国产高潮流白浆免费观看| 国产精品成人无码久久久久久| 狠狠色婷婷久久一区二区| 久久精品视屏| 国产精品免费久久久久电影网| 国产亚洲欧美成人久久片| 久久久久久国产精品无码超碰| 久久国语露脸国产精品电影| 久久精品中文字幕大胸| 久久夜色撩人精品国产| 久久人搡人人玩人妻精品首页 | 99久久无色码中文字幕 | 久久国产精品久久| 久久这里只精品国产99热| 国产精品久久99| 日本久久久精品中文字幕| 精品水蜜桃久久久久久久| 久久精品国产只有精品66| 一级a性色生活片久久无少妇一级婬片免费放 | 日本久久久久久久久久| 精品无码人妻久久久久久| 久久亚洲精品无码播放| 国产精品中文久久久久久久 | 久久精品国产AV一区二区三区 | 精品久久久久久无码国产| 久久久久综合中文字幕 | AV无码久久久久不卡蜜桃| 久久免费精品视频| 人人狠狠综合久久亚洲高清| 久久成人国产精品免费软件| 久久精品中文騷妇女内射| 久久中文字幕一区二区| 久久亚洲高清综合| 久久天天躁狠狠躁夜夜96流白浆| 国产精品女同久久久久电影院| 91精品国产91久久| 久久精品国产亚洲AV蜜臀色欲| 国产午夜精品久久久久免费视| 国产精品99久久精品爆乳| 久久久无码精品亚洲日韩京东传媒|