• <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ù),而在搜索的過程中由于P[n-1]是符合條件的所以只需要判斷最高位是否符合條件即可。
             * 不好想啊,我想到了這個符合條件,但是卻還是沒想到還能這么搜
             * */

            本題我的思路就是按位擴展+高精,以下精妙算法完全來自
            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 閱讀(925) 評論(0)  編輯 收藏 引用 所屬分類: 解題報告

            亚洲日本va午夜中文字幕久久| 久久久99精品成人片中文字幕| 99热成人精品免费久久| 亚洲欧美成人久久综合中文网| 久久99精品国产自在现线小黄鸭| 国产视频久久| 国产精品久久波多野结衣| 亚洲综合久久久| 久久国产免费直播| 久久se精品一区精品二区| 精品国产乱码久久久久久呢| 精品国产热久久久福利| 91久久精品91久久性色| 欧美日韩精品久久免费| 久久久噜噜噜久久中文字幕色伊伊| 精品久久久久久无码中文字幕一区| 国产精品久久久久久久久久影院| 久久国产成人精品国产成人亚洲| 狠狠色丁香久久婷婷综合五月| 久久久久免费精品国产| 亚洲国产精品无码久久青草| 国产农村妇女毛片精品久久| 久久精品国产亚洲网站| 精品久久人妻av中文字幕| 少妇久久久久久久久久| 亚洲中文久久精品无码ww16| 中文字幕无码久久久| 午夜视频久久久久一区| 久久强奷乱码老熟女| 久久天天躁狠狠躁夜夜2020老熟妇| 色综合久久88色综合天天| 久久99热精品| 久久综合久久综合九色| 欧美亚洲另类久久综合| 免费观看久久精彩视频| 国产精品99久久不卡| 99热成人精品免费久久| 久久99久久无码毛片一区二区 | 国产亚洲色婷婷久久99精品91| 久久er热视频在这里精品| 国产精品福利一区二区久久|