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

A Za, A Za, Fighting...

堅信:勤能補拙

PKU 1753 Flip Game

問題:
http://acm.pku.edu.cn/JudgeOnline/problem?id=1753

思路:
首先,觀察題意,可以發現對于每個piece,最多只有兩種可能性: 翻轉一次或者不翻轉,翻轉多次是沒有意義的
另外,由于整個rectangular大小是4X4,因此可以使用位運算來提高性能

對于位運算,需要知道的是如何反轉任意的某一位:
巧妙的異或運算 1^x = ~x  0^x = x

1. 深度優先搜索
 1 #define SIZE 4
 2 #define BIT_MAX 16
 3 const int END_BLACK = 0;
 4 const int END_WHITE = (1<<(BIT_MAX))-1;
 5 int min;
 6 
 7 int
 8 flip(int init_state, int bit_num)
 9 {
10     int x, y;
11     x = bit_num / SIZE;
12     y = bit_num % SIZE;
13     init_state ^= (1<<bit_num);
14     if(x == 0)
15         init_state ^= (1<<(bit_num+SIZE));
16     else if(x == 3)
17         init_state ^= (1<<(bit_num-SIZE));
18     else {
19         init_state ^= (1<<(bit_num+SIZE));
20         init_state ^= (1<<(bit_num-SIZE));
21     }
22     if(y==0)
23         init_state ^= (1<<(bit_num+1));
24     else if(y==3)
25         init_state ^= (1<<(bit_num-1));
26     else {
27         init_state ^= (1<<(bit_num+1));
28         init_state ^= (1<<(bit_num-1));
29     }
30     return init_state;
31 }
32 
33 void 
34 dfs(long state, int depth, int count)
35 {
36     if(state==END_BLACK || state==END_WHITE) {
37         min = count < min ? count : min;
38         return;
39     }
40     if(depth >= BIT_MAX || count >= min)
41         return;
42     dfs(state, depth+1, count);
43     dfs(flip(state, depth), depth+1, count+1);
44 }

2. 寬度優先搜索
 1 #define SIZE 4
 2 #define BIT_MAX 16
 3 const int END_BLACK = 0;
 4 const int END_WHITE = (1<<(BIT_MAX))-1;
 5 /* up, down, left, right */
 6 const int dx[] = {-1100};
 7 const int dy[] = {00-11};
 8 const int idx_diff[] = {-SIZE, SIZE, -11};
 9 struct State {
10     long state;
11     int count; /* minimum number of rounds needed to reach 'state' */
12 };
13 struct State queue[1<<BIT_MAX];
14 int visited[1<<BIT_MAX];
15 int head, tail;
16 long state; /* the low 16 bits represents the current state */
17 
18 int
19 is_valid(int x, int y)
20 {
21     return (x>=0 && x<SIZE && y>=0 && y<SIZE);
22 }
23 
24 /*
25  * tricky of bit-operation
26  * 1 ^ x = ~x
27  * 0 ^ x = x
28  */
29 long
30 flip(long state, int x, int y)
31 {
32     int i, index = x*SIZE + y;
33     state ^= (1<<index);
34     for(i=0; i<4; i++) {
35         if(is_valid(x+dx[i], y+dy[i]))
36             state ^= (1<<(index+idx_diff[i]));
37     }
38     return state;
39 }

posted on 2010-07-05 10:51 simplyzhao 閱讀(134) 評論(0)  編輯 收藏 引用 所屬分類: B_搜索

導航

<2025年9月>
31123456
78910111213
14151617181920
21222324252627
2829301234
567891011

統計

常用鏈接

留言簿(1)

隨筆分類

隨筆檔案

搜索

最新評論

閱讀排行榜

評論排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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>
            亚洲欧美国产精品桃花| 国产精品高潮呻吟久久av黑人| 欧美日韩精品综合在线| 国产精品影片在线观看| 一区二区免费在线播放| 国产精品久久久久一区| 久久精品成人一区二区三区| 亚洲欧洲一区| 亚洲欧洲一区二区在线观看| 欧美国产日韩一区二区| 欧美成人日本| 亚洲第一福利社区| 亚洲国产精品成人精品| 99精品视频免费全部在线| 亚洲国产成人久久综合一区| 欧美国产第一页| 99一区二区| 国产一区二区三区丝袜| 在线观看日韩| 久久综合伊人77777尤物| 一区二区三区免费网站| 欧美激情一区二区在线| 狠狠色伊人亚洲综合成人| 99精品国产热久久91蜜凸| 久久国产乱子精品免费女| 在线中文字幕日韩| 欧美日韩视频| 中文亚洲视频在线| 亚洲欧洲三级| 欧美日韩国产系列| 亚洲毛片播放| 日韩亚洲精品视频| 欧美日韩在线播放一区| 日韩亚洲一区二区| 一本色道久久综合亚洲精品按摩| 亚洲欧洲日产国产综合网| 午夜精品一区二区三区四区| 亚洲经典视频在线观看| 国产精品日本| 影视先锋久久| 午夜精品一区二区三区在线 | 一本色道久久99精品综合| 欧美欧美天天天天操| 亚洲欧美日韩直播| 久久久久久久综合狠狠综合| 在线播放视频一区| 亚洲国产一二三| 国产精品久久久久秋霞鲁丝| 久久久精品性| 欧美国产高清| 久久久久久久综合| 欧美人与禽猛交乱配| 久久久久看片| 国产精品成人v| 亚洲精品免费电影| 亚洲国产欧美日韩精品| 亚洲二区在线观看| 国产欧美日韩不卡| 日韩午夜电影在线观看| 亚洲精品韩国| 久久久一区二区| 欧美在线观看一区二区| 欧美国产日韩一区二区三区| 久久精品人人做人人爽电影蜜月| 欧美**字幕| 欧美成年人视频网站| 国产精品资源| 亚洲欧美激情一区二区| 中文高清一区| 欧美吻胸吃奶大尺度电影| 欧美激情中文不卡| 亚洲大胆美女视频| 久久一区欧美| 欧美成人激情视频免费观看| 亚洲高清免费在线| 欧美影院成年免费版| 国产精品久久久久永久免费观看| 这里只有精品视频| 久久综合狠狠综合久久综合88| 亚洲区在线播放| 国产日韩欧美一区二区三区四区| 久热这里只精品99re8久| 中日韩男男gay无套| 欧美高清视频在线| 一色屋精品视频在线看| 免费一级欧美片在线播放| 亚洲美女毛片| 久久久.com| 亚洲一区综合| 91久久午夜| 国产欧美一区二区三区在线老狼| 美日韩免费视频| 性欧美video另类hd性玩具| 欧美sm视频| 久久躁日日躁aaaaxxxx| 亚洲一区二区动漫| 亚洲激情av在线| 黄色一区二区三区| 国产精品视频专区| 欧美日韩亚洲激情| 欧美片在线播放| 男人的天堂亚洲| 久久在线免费视频| 久久婷婷国产综合精品青草 | 欧美亚洲免费高清在线观看| 在线观看免费视频综合| 国产精品一二三四| 国产精品美女999| 国产精品久久久久久久7电影| 欧美日本中文字幕| 国产精品国产三级欧美二区| 欧美日韩另类综合| 欧美色欧美亚洲另类二区| 久久精品亚洲精品国产欧美kt∨| 日韩一级黄色片| 亚洲私拍自拍| 久久久www| 亚洲人成在线观看| 夜夜夜久久久| 校园春色国产精品| 欧美第一黄网免费网站| 欧美福利一区二区三区| 国产精品毛片a∨一区二区三区|国 | 欧美国产一区视频在线观看| 亚洲黄色视屏| 亚洲开发第一视频在线播放| 制服诱惑一区二区| 久久全球大尺度高清视频| 亚洲第一页中文字幕| 中日韩美女免费视频网址在线观看 | 国产一区二区三区在线观看网站| 狠狠色狠狠色综合日日五| 中国成人黄色视屏| 久久久久久久欧美精品| 亚洲免费电影在线观看| 久久青草欧美一区二区三区| 国产精品视频午夜| 99香蕉国产精品偷在线观看| 久久国产精品久久国产精品| 亚洲免费观看在线视频| 欧美经典一区二区| 亚洲日本一区二区三区| 亚洲福利视频二区| 久久一区二区视频| 制服丝袜激情欧洲亚洲| 欧美精品啪啪| 一本久久知道综合久久| 亚洲激情在线| 欧美激情视频一区二区三区不卡| 好吊妞**欧美| 久久资源av| 欧美成人国产va精品日本一级| 国产午夜久久| 欧美成人黑人xx视频免费观看| 欧美暴力喷水在线| 欧美中文在线免费| 精品福利免费观看| 最新69国产成人精品视频免费| 欧美福利电影网| 亚洲欧美成人在线| 欧美一区二区视频免费观看| 韩国福利一区| 亚洲美女毛片| 亚洲第一福利在线观看| 亚洲日本成人在线观看| 国产精品五月天| 亚洲精品久久视频| 激情六月婷婷久久| 亚洲永久精品大片| 亚洲二区免费| 欧美一区二区三区在线免费观看 | 美女久久一区| 国产精品扒开腿做爽爽爽软件| 久久综合九色综合欧美狠狠| 欧美日韩在线三级| 亚洲电影毛片| 亚洲大片免费看| 香蕉视频成人在线观看| 欧美一区二区三区在线| 一道本一区二区| 洋洋av久久久久久久一区| 久久丁香综合五月国产三级网站| 在线亚洲精品| 欧美日韩免费视频| 999亚洲国产精| 久久久久久久综合色一本| 久久久女女女女999久久| 国产日本欧美一区二区三区| 亚洲在线播放| 国产精品实拍| 亚洲欧美成人网| 国产一区二区三区黄视频| 一本大道久久a久久精品综合| 亚洲伦理网站| 国产精品青草综合久久久久99 | 亚洲片区在线| 欧美日韩中国免费专区在线看| 亚洲视频在线观看一区| 欧美一区二区在线免费观看 | 欧美色视频在线|