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

            久久精品国产黑森林| 日日狠狠久久偷偷色综合0| 国产V亚洲V天堂无码久久久| 久久777国产线看观看精品| 久久精品国产WWW456C0M| 精品国产99久久久久久麻豆| 国产韩国精品一区二区三区久久| 狠狠久久综合伊人不卡| 久久午夜福利无码1000合集| 狠狠色丁香婷综合久久| 性做久久久久久久久浪潮| 久久精品国产久精国产| 亚洲精品tv久久久久| 99精品久久久久久久婷婷| 亚洲午夜久久久久久久久电影网| 精品久久久久久久久久久久久久久 | 香蕉久久一区二区不卡无毒影院| 亚洲精品tv久久久久久久久久| 久久久久综合网久久| 久久综合给久久狠狠97色| 亚洲精品乱码久久久久久不卡| 亚洲国产精品久久久久网站| 欧洲成人午夜精品无码区久久| 欧美国产精品久久高清| 国产精品熟女福利久久AV| 久久96国产精品久久久| 久久久一本精品99久久精品88 | 久久久久人妻一区二区三区vr| 久久久久久免费视频| 青青热久久国产久精品| 久久婷婷五月综合成人D啪| 久久国产精品免费| 久久国产精品波多野结衣AV | 91秦先生久久久久久久| 久久噜噜电影你懂的| 久久er热视频在这里精品| 99精品久久精品| 国内精品免费久久影院| 久久影院午夜理论片无码| 伊人色综合九久久天天蜜桃| 色99久久久久高潮综合影院|