• <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]是符合條件的所以只需要判斷最高位是否符合條件即可。
             * 不好想啊,我想到了這個符合條件,但是卻還是沒想到還能這么搜
             * */

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

            久久人人妻人人爽人人爽| 久久精品国产WWW456C0M| 热re99久久精品国99热| 99久久精品国产高清一区二区| 久久99精品久久久久久| 久久精品国产2020| 国产免费久久精品丫丫| 99国产精品久久| 午夜精品久久久久久影视riav| 久久久久久久99精品免费观看| 国产精品久久久久久久久久影院| 久久国产乱子精品免费女| 国产精品久久久久久久app | yellow中文字幕久久网| 亚洲国产日韩综合久久精品| 91秦先生久久久久久久| 97久久精品人妻人人搡人人玩| 欧美国产精品久久高清| 国产成人无码精品久久久免费 | 久久久久99精品成人片试看| 亚洲精品无码专区久久同性男| 国产精品久久久久影视不卡| 中文字幕无码精品亚洲资源网久久| 久久久久久一区国产精品| 九九久久99综合一区二区| 久久人爽人人爽人人片AV| 久久99精品国产麻豆宅宅| 国产精品久久新婚兰兰| 中文字幕无码久久人妻| 久久最新免费视频| 青青热久久国产久精品 | 国产成人无码精品久久久免费| 国产精品天天影视久久综合网| 亚洲AV日韩精品久久久久久| 久久久久免费精品国产| 亚洲精品美女久久久久99| 久久久无码精品亚洲日韩京东传媒 | 久久综合狠狠综合久久97色| 久久亚洲国产成人精品无码区| 欧美亚洲日本久久精品| 狠狠色丁香久久婷婷综合_中|