青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

Why so serious? --[NKU]schindlerlee

2010年1月9日星期六.sgu125

2010年1月9日星期六.sgu125
sgu125:搜

題意還是很好理解的,給出一個N*N的矩陣,B[i][j]表示周圍有多少個元素比他大,每個元素的取值范圍是1-9,最大的復雜度是9^9次方,大約需要5s才能跑出來,肯定需要優化。

由于題目中的限制很多,非常容易想到判斷當前B的合法性來判斷。
仔細想想,加上一個或者兩個剪枝就可以了。

貼個超級丑陋的代碼。。。。 這個題的代碼寫的確實不太好
  1 /* 
  2  * SOUR:sgu125
  3  * ALGO:dfs
  4  * DATE: 2010年 01月 08日 星期五 22:46:13 CST
  5  * COMM:3 http://www.shnenglu.com/schindlerlee/
  6  * */
  7 #include<iostream>
  8 #include<cstdio>
  9 #include<cstdlib>
 10 #include<cstring>
 11 #include<algorithm>
 12 using namespace std;
 13 typedef long long LL;
 14 const int maxint = 0x7fffffff;
 15 const long long max64 = 0x7fffffffffffffffll;
 16 const int N = 8;
 17 int A[N][N];
 18 int B[N][N],n;
 19 int S[N][N];
 20 
 21 #define PUSH(x,y) (S[x][y]++)
 22 #define POP(x,y) (S[x][y]--)
 23 #define legal(x,y) (S[x][y] <= B[x][y])
 24 
 25 bool dfs(int x, int y)
 26 {
 27   if (y == n + 1) {
 28       x++, y = 1;
 29   }
 30 
 31   if (x == n + 1) {
 32       for(int i = 1;i <= n;i++) {
 33           for(int j = 1;j <= n;j++) {
 34               if(S[i][j] != B[i][j]) return false;
 35           }
 36       }
 37       return true;
 38   }
 39   if(x == 3 && y == 1) {
 40       if(S[1][1!= B[1][1||
 41          S[1][2!= B[1][2||
 42          S[1][3!= B[1][3])
 43         return false;
 44   }
 45 
 46   for (int i = 1; i <= 9; i++) {
 47       A[x][y] = i;
 48       if (x > 1 && A[x][y] > A[x - 1][y]) {
 49           PUSH(x - 1, y);
 50           if (y > 1 && A[x][y] > A[x][y - 1]) {
 51               PUSH(x, y - 1);
 52               if(legal(x-1,y) && legal(x,y-1&& dfs(x,y+1)) return true;
 53               else {
 54                   POP(x-1,y);
 55                   POP(x,y-1);
 56               }
 57           } else if (y > 1 && A[x][y] < A[x][y - 1]) {
 58               PUSH(x, y);
 59               if(legal(x-1,y) && legal(x,y) && dfs(x,y+1)) return true;
 60               else {
 61                   POP(x-1,y);
 62                   POP(x,y);
 63               }
 64           } else {
 65               if(legal(x-1,y) && dfs(x,y+1)) return true;
 66               else {
 67                   POP(x-1,y);
 68               }
 69           }
 70       } else if (x > 1 && A[x][y] < A[x - 1][y]) {
 71           PUSH(x, y);
 72           if (y > 1 && A[x][y] > A[x][y - 1]) {
 73               PUSH(x, y - 1);
 74               if(legal(x,y) && legal(x,y-1&& dfs(x,y+1)) return true;
 75               else {
 76                   POP(x,y);
 77                   POP(x,y-1);
 78               }
 79           } else if (y > 1 && A[x][y] < A[x][y - 1]) {
 80               PUSH(x, y);
 81               if(legal(x,y) && dfs(x,y+1)) return true;
 82               else {
 83                   POP(x,y);
 84                   POP(x,y);
 85               }
 86           } else {
 87               if(dfs(x,y+1)) return true;
 88               else {
 89                   POP(x,y);
 90               }
 91           }
 92       }else {
 93           if (y > 1 && A[x][y] > A[x][y - 1]) {
 94               PUSH(x, y - 1);
 95               if(dfs(x,y+1)) return true;
 96               else {
 97                   POP(x,y-1);
 98               }
 99           } else if (y > 1 && A[x][y] < A[x][y - 1]) {
100               PUSH(x, y);
101               if(dfs(x,y+1)) return true;
102               else {
103                   POP(x,y);
104               }
105           } else {
106               if(dfs(x,y+1)) return true;
107               else {
108               }
109           }
110       }
111   }
112   return false;
113 }
114 
115 int main()
116 {
117   int i, j, k;
118   scanf("%d"&n);
119   for (i = 1; i <= n; i++) {
120       for (j = 1; j <= n; j++) {
121           scanf("%d"&B[i][j]);
122       }
123   }
124 
125   if (dfs(11)) {
126       for(int i = 1;i <= n;i++) {
127           for(int j = 1;j <= n;j++) {
128               printf("%d ",A[i][j]);
129           }
130           putchar(10);
131       }
132   }else {
133       puts("NO SOLUTION");
134   }
135   return 0;
136 }
137 

posted on 2010-01-09 01:57 schindlerlee 閱讀(1309) 評論(0)  編輯 收藏 引用 所屬分類: 解題報告

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            日韩一区二区电影网| 日韩视频在线观看| 国产精品www| 最新国产乱人伦偷精品免费网站| 欧美日韩亚洲一区二区三区在线 | 亚洲人成网站色ww在线| 欧美一区影院| 欧美中文在线视频| 欧美亚州一区二区三区| 亚洲乱码国产乱码精品精天堂| 亚洲高清不卡在线| 久久久久久久一区二区| 久久久噜噜噜久久人人看| 国产欧美韩国高清| 午夜精品偷拍| 性做久久久久久免费观看欧美| 欧美三级午夜理伦三级中视频| 亚洲高清影视| 亚洲精品视频免费在线观看| 久久五月天婷婷| 欧美大片免费| 亚洲伦理精品| 欧美片网站免费| 亚洲精品乱码久久久久久按摩观| 亚洲精品一区二区三| 欧美激情一区二区三区在线| 欧美激情中文字幕在线| 亚洲日产国产精品| 欧美精选在线| 亚洲午夜精品一区二区三区他趣| 亚洲免费在线视频| 国产欧美亚洲精品| 久久精品123| 欧美成人黑人xx视频免费观看| 亚洲第一精品福利| 欧美极品影院| 中日韩视频在线观看| 羞羞答答国产精品www一本| 国产日韩av在线播放| 亚洲在线黄色| 免费在线成人av| 99pao成人国产永久免费视频| 欧美伦理91| 中文在线不卡视频| 久久久噜噜噜久久中文字免| 精品91在线| 欧美黄色免费| 亚洲影院免费观看| 欧美成人亚洲成人| 一区二区高清视频在线观看| 国产精品久久久一区麻豆最新章节| 亚洲永久视频| 欧美国产亚洲视频| 亚洲欧美另类在线| 亚洲福利在线视频| 欧美视频不卡| 久久亚洲欧美| 中国女人久久久| 欧美sm视频| 欧美亚洲系列| 91久久久久| 国产欧美日韩91| 欧美精品日韩| 久久大逼视频| 99精品欧美一区二区三区综合在线| 久久精品国产96久久久香蕉| 亚洲人成网站色ww在线| 国产毛片精品国产一区二区三区| 久久综合伊人77777麻豆| 一区二区三区视频在线看| 美乳少妇欧美精品| 亚洲综合首页| 亚洲欧洲视频| 狠狠色丁香久久婷婷综合_中| 欧美日韩一区在线视频| 久久综合一区二区三区| 香蕉成人久久| 日韩视频在线你懂得| 欧美成人有码| 久久成人国产| 亚洲欧美日韩国产一区| 亚洲区国产区| 亚洲高清在线观看| 国产亚洲精品久久久| 欧美日韩亚洲一区| 欧美激情小视频| 久久亚洲精品一区| 欧美伊人久久| 亚洲欧美一区二区三区极速播放| 亚洲人成网站色ww在线| 欧美大片免费看| 久久久精品动漫| 欧美伊人久久久久久午夜久久久久| 一本色道久久综合亚洲精品婷婷| 在线成人av网站| 黄色成人在线观看| 国产一区二区在线观看免费播放| 欧美视频在线一区| 欧美日韩一区二区三区免费| 免费91麻豆精品国产自产在线观看| 欧美影院视频| 久久国产精品电影| 久久超碰97人人做人人爱| 午夜精品久久久久| 亚洲欧美国产视频| 欧美一级久久| 欧美在线一二三四区| 久久gogo国模裸体人体| 香蕉免费一区二区三区在线观看| 亚洲尤物在线| 欧美一区二区三区免费在线看| 亚洲女性裸体视频| 欧美一区在线视频| 久久久人成影片一区二区三区观看 | 欧美成人精品一区| 欧美777四色影视在线| 欧美成人免费在线| 亚洲精品一区二区三区福利| 亚洲精品欧美日韩专区| 一区二区三区精品视频| 亚洲一区免费观看| 欧美在线国产精品| 六月婷婷一区| 欧美日韩黄色大片| 国产精品欧美一区喷水 | 在线免费一区三区| 亚洲国产精品传媒在线观看| 亚洲精品日韩在线观看| 亚洲一区二区网站| 欧美自拍偷拍午夜视频| 欧美成人tv| 亚洲视频欧美在线| 久久精品91久久久久久再现| 嫩模写真一区二区三区三州| 欧美三级视频在线| 黑人巨大精品欧美一区二区小视频| 亚洲激情偷拍| 亚洲一区在线观看免费观看电影高清| 欧美在线视频一区| 亚洲大胆女人| 午夜国产精品视频| 蘑菇福利视频一区播放| 国产精品久久久久91| 在线观看免费视频综合| 亚洲一二三四久久| 欧美va天堂| 午夜国产精品视频免费体验区| 久久综合九色综合久99| 欧美午夜激情视频| 在线日韩av片| 欧美一区免费| 亚洲人成毛片在线播放| 欧美影院视频| 欧美色中文字幕| 亚洲国产欧美精品| 久久国产88| 一区二区三区视频在线播放| 老鸭窝91久久精品色噜噜导演| 国产精品久久久久久久久久久久| **网站欧美大片在线观看| 亚洲欧美大片| 亚洲欧洲美洲综合色网| 久久久久久97三级| 国产精品青草综合久久久久99 | 在线观看成人av| 欧美在线免费看| 一区二区三区视频在线播放| 蜜臀久久久99精品久久久久久 | 亚洲国产精品ⅴa在线观看| 亚洲欧美日韩另类| 欧美视频中文字幕在线| 亚洲精品美女在线观看| 久久久久久久久蜜桃| 亚洲综合国产| 国产精品国产三级国产aⅴ入口 | 在线免费一区三区| 久久九九久精品国产免费直播| 一区二区三区日韩精品视频| 欧美精品在线视频| 亚洲片在线观看| 亚洲丰满在线| 免费日韩精品中文字幕视频在线| 国内精品亚洲| 久久―日本道色综合久久| 亚洲综合日韩| 国产日韩精品一区二区| 欧美一区二区在线| 亚洲免费伊人电影在线观看av| 国产精品久久久久久五月尺| 亚洲一区二区三区在线播放| 99pao成人国产永久免费视频| 欧美人在线视频| 一区二区日韩精品| 亚洲免费av片| 国产精品美女久久久久久久| 亚洲香蕉在线观看| 亚洲永久在线| 国产一区二区三区自拍| 久久精品123| 久久久久久伊人|