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

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://m.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 閱讀(1304) 評論(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>
            欧美一区二区三区视频在线| 狠狠综合久久| 亚洲黄色影院| 欧美视频一区二区在线观看| 六月天综合网| 亚洲深夜福利网站| 亚洲人午夜精品| 久久精品国产清高在天天线| 久久婷婷国产综合国色天香 | 性欧美18~19sex高清播放| 久久久久久自在自线| 欧美激情精品久久久久久蜜臀| 免费视频最近日韩| 亚洲在线中文字幕| 欧美日韩伦理在线免费| 国产精品婷婷| 亚洲电影专区| 亚洲综合三区| 久久精品日产第一区二区三区| 免费欧美日韩| 亚洲狼人综合| 午夜精品国产| 欧美a级片网| 国产日产欧产精品推荐色| 尤物九九久久国产精品的分类| 一本色道久久综合| 久久尤物电影视频在线观看| 一区二区三区回区在观看免费视频| 欧美一区二区性| 欧美日韩裸体免费视频| 在线免费不卡视频| 先锋影音久久| 亚洲娇小video精品| 久久久久久亚洲精品中文字幕| 欧美国产第二页| 欧美午夜片在线观看| 亚洲国产日韩在线一区模特| 欧美一区二区三区成人| 亚洲人成人77777线观看| 欧美一区二区免费观在线| 欧美日韩一区二区三区在线| 亚洲激情视频在线播放| 久久人人爽人人爽| 性欧美videos另类喷潮| 国产精品wwwwww| 一区二区三区高清在线观看| 亚洲第一页自拍| 久久网站免费| 精品电影在线观看| 久久午夜电影| 久久久久久噜噜噜久久久精品| 国产嫩草一区二区三区在线观看| 亚洲一区二区三区视频| 99精品视频一区| 欧美日韩精品久久| 99精品国产热久久91蜜凸| 欧美激情精品| 欧美精品日韩一区| 一个色综合导航| 99视频国产精品免费观看| 国产精品成人午夜| 欧美一级视频免费在线观看| 西西裸体人体做爰大胆久久久| 国产日韩精品一区二区三区| 久久久久高清| 久久久亚洲高清| 亚洲片在线资源| 亚洲精品一区久久久久久| 欧美三级中文字幕在线观看| 亚洲免费在线看| 午夜精品视频一区| 国产啪精品视频| 久久久91精品国产| 免费观看日韩| 亚洲精品久久嫩草网站秘色 | 国产精品综合视频| 久久精品成人欧美大片古装| 久久精品中文| av成人福利| 亚洲免费在线视频| 海角社区69精品视频| 猛干欧美女孩| 欧美日韩成人一区二区| 中文高清一区| 性xx色xx综合久久久xx| 亚洲国产女人aaa毛片在线| 亚洲精品裸体| 国产主播一区二区三区| 亚洲国产成人精品女人久久久| 欧美日本在线观看| 久久精品99| 欧美极品色图| 小黄鸭精品aⅴ导航网站入口| 亚洲综合三区| 91久久精品网| 国产亚洲欧美一区二区三区| 亚洲黄色影院| 国产综合婷婷| 一本色道88久久加勒比精品| 国产亚洲福利| 日韩一级精品视频在线观看| 国产日韩欧美综合精品| 亚洲国产小视频在线观看| 国产一区二区久久久| 美女精品国产| 国产精品久久久久久久浪潮网站| 欧美国产免费| 国产一区二区成人| 99视频在线精品国自产拍免费观看| 海角社区69精品视频| 一区二区三区四区五区在线| 亚洲欧洲日本一区二区三区| 午夜精品一区二区三区电影天堂 | 欧美aⅴ99久久黑人专区| 国产精品久久久一区二区| 欧美成人a∨高清免费观看| 国产欧美日韩一区二区三区在线 | 欧美成人r级一区二区三区| 国产三级欧美三级| 亚洲字幕在线观看| 亚洲一区二区在线| 欧美连裤袜在线视频| 欧美黑人多人双交| 亚洲国产精品一区二区www| 久久精品国产视频| 久久久欧美一区二区| 国产色爱av资源综合区| 亚洲免费在线电影| 欧美在线短视频| 国产欧美日韩| 欧美一区二区三区免费观看视频| 午夜精品久久久久久久久久久久久| 欧美日韩高清在线播放| 亚洲精品一区在线观看香蕉| 一区二区三区国产在线观看| 欧美日韩第一页| 亚洲无吗在线| 欧美一区三区二区在线观看| 国产精品永久入口久久久| 亚洲性感激情| 久久精品导航| 在线欧美亚洲| 欧美大片91| 亚洲图片欧美一区| 欧美伊人久久大香线蕉综合69| 国产日韩精品一区| 久久亚洲精品视频| 亚洲茄子视频| 午夜亚洲视频| 一区二区三区中文在线观看| 暖暖成人免费视频| 一区二区三区鲁丝不卡| 久久成人精品一区二区三区| 极品少妇一区二区三区精品视频| 久久综合综合久久综合| 欧美中文字幕视频| 一本色道久久综合狠狠躁篇的优点| 欧美高清在线播放| 中日韩美女免费视频网址在线观看| 久久精品国产视频| 亚洲国产一区在线| 国产精品久99| 麻豆国产精品一区二区三区| 亚洲精品在线看| 久久精品一区二区三区四区| 亚洲精品国产精品国自产观看浪潮| 欧美三级午夜理伦三级中文幕| 欧美在线关看| 日韩亚洲欧美成人一区| 午夜综合激情| av不卡在线| 永久555www成人免费| 国产精品久久9| 麻豆成人小视频| 亚洲一区二区三区四区中文 | 欧美一区二区三区另类| 狠久久av成人天堂| 欧美日韩亚洲精品内裤| 久久高清一区| 亚洲少妇自拍| 亚洲国产精品久久久久婷婷老年| 亚洲欧美综合另类中字| 亚洲精品视频在线播放| 国产伦理一区| 久久国产欧美| 午夜欧美精品| 国产精品99久久久久久久vr | 亚久久调教视频| 99综合在线| 亚洲国产一区二区三区高清| 久久久综合网站| 亚洲欧美中文另类| 一区二区高清在线| 亚洲韩国日本中文字幕| 一区二区三区在线观看欧美| 国产精品视频yy9099| 欧美日韩免费在线| 欧美精品尤物在线| 欧美aa国产视频| 欧美99在线视频观看|