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

A Za, A Za, Fighting...

堅信:勤能補拙

PKU 1753 Flip Game

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

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

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

1. 深度優(yōu)先搜索
 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. 寬度優(yōu)先搜索
 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_搜索

導(dǎo)航

<2011年10月>
2526272829301
2345678
9101112131415
16171819202122
23242526272829
303112345

統(tǒng)計

常用鏈接

留言簿(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电影| 久久精品国产亚洲精品| 亚洲国产精品一区二区尤物区 | 亚洲欧美电影在线观看| 韩日在线一区| 国产一区二区三区精品欧美日韩一区二区三区 | 久久亚洲二区| 欧美在线观看网址综合| 午夜电影亚洲| 久久夜色精品国产亚洲aⅴ | 午夜精品福利视频| 亚洲一区二区三区精品动漫| 亚洲女人天堂成人av在线| 亚洲一区二区欧美日韩| 午夜精品免费视频| 久久九九国产精品怡红院| 欧美+亚洲+精品+三区| 欧美激情精品久久久久| 亚洲国产一区二区a毛片| 一区二区三区日韩精品| 亚洲一区国产| 欧美精品18videos性欧美| 欧美日韩一区视频| 国产综合香蕉五月婷在线| 亚洲福利视频三区| 亚洲欧美视频| 亚洲精品国偷自产在线99热| 午夜精品影院在线观看| 欧美成人午夜剧场免费观看| 国产精品毛片| 这里只有精品在线播放| 久久偷窥视频| 午夜电影亚洲| 国产欧美精品在线播放| 在线午夜精品| 99精品福利视频| 欧美日韩伦理在线| 一区二区三区免费看| 亚洲欧洲日韩在线| 欧美高清免费| 日韩小视频在线观看专区| 久久久久久久999| 国产午夜精品久久久久久免费视 | 一本不卡影院| 亚洲精品一区在线| 欧美美女福利视频| 日韩午夜电影在线观看| 久久综合九色99| 久久婷婷亚洲| 一卡二卡3卡四卡高清精品视频| 欧美大香线蕉线伊人久久国产精品| 久久久久久久综合色一本| 亚洲高清资源| 99精品国产一区二区青青牛奶| 国产精品jvid在线观看蜜臀| 欧美一区二区日韩| 美女爽到呻吟久久久久| 亚洲一区二区精品视频| 欧美视频在线视频| 一区二区三区高清视频在线观看 | 午夜激情亚洲| 欧美 日韩 国产 一区| 欧美不卡一卡二卡免费版| 久久一区二区三区四区五区| 日韩视频精品| 亚洲一区黄色| 久久精品女人| 欧美日韩一区二区视频在线观看| 国产精品社区| 国产精品久久| 亚洲国产精品嫩草影院| 久久精品99| 狠狠88综合久久久久综合网| 亚洲欧美经典视频| 午夜亚洲影视| 国产偷自视频区视频一区二区| 亚洲日本在线观看| 亚洲肉体裸体xxxx137| 欧美国产欧美亚洲国产日韩mv天天看完整| 亚洲欧美在线一区二区| 久热精品视频在线观看| 蜜臀va亚洲va欧美va天堂| 一区二区三区日韩精品| 美女图片一区二区| 亚洲精品日本| 性xx色xx综合久久久xx| 国产一区二区三区av电影| 99一区二区| 亚洲视频精品| 欧美激情网友自拍| 欧美va亚洲va香蕉在线| 在线观看亚洲视频| 快射av在线播放一区| 亚洲片在线观看| 亚洲欧美国产高清va在线播| 国产一区二区三区四区在线观看| 久久经典综合| 亚洲一区二区三区涩| 久久亚洲影音av资源网| 洋洋av久久久久久久一区| 国产精品一卡二卡| 欧美日本高清| 老司机久久99久久精品播放免费 | 国产精品欧美一区二区三区奶水 | 性久久久久久久久久久久| 久久久xxx| 亚洲欧美日韩中文在线制服| 亚洲国产欧美精品| 国产精品一国产精品k频道56| 欧美不卡三区| 久久久噜噜噜久久| 午夜亚洲激情| 一本色道久久综合狠狠躁的推荐| 久久亚洲影音av资源网| 免费黄网站欧美| 亚洲男人的天堂在线| 99xxxx成人网| 亚洲午夜免费视频| 亚洲一级特黄| 亚洲欧美成人| 午夜精品亚洲| 久久久噜噜噜久噜久久| 亚洲综合色网站| 性色av香蕉一区二区| 久久国产精品一区二区| 免费观看久久久4p| 亚洲国产美女| 99re8这里有精品热视频免费| 中日韩视频在线观看| 亚洲欧美三级在线| 另类av导航| 欧美三级日韩三级国产三级| 欧美性猛交xxxx免费看久久久 | 亚洲精品一二三| 亚洲视频1区| 欧美14一18处毛片| 国产在线精品二区| 亚洲一区二区三区在线视频| 久久久国产视频91| 免费精品视频| 亚洲小视频在线| 欧美另类极品videosbest最新版本| 你懂的视频一区二区| 亚洲高清不卡在线| 欧美一区二区久久久| 欧美日韩国产专区| 亚洲韩国一区二区三区| 亚洲欧美日韩国产精品| 亚洲人成小说网站色在线| 久久久久久久综合色一本| 国产精品区一区二区三区| 9久草视频在线视频精品| 免费观看成人www动漫视频| 久久国产精品久久w女人spa| 国产免费成人av| 先锋影音久久久| 亚洲女人小视频在线观看| 欧美日韩国产欧| 亚洲小说区图片区| 亚洲人线精品午夜| 欧美亚州韩日在线看免费版国语版| 99在线精品免费视频九九视| 99精品欧美一区二区蜜桃免费| 欧美日韩性生活视频| 亚洲免费在线看| 欧美在线视频免费| 亚洲肉体裸体xxxx137| 亚洲精品久久久一区二区三区| 欧美三级资源在线| 久久噜噜噜精品国产亚洲综合| 久久这里只有| 欧美亚洲一级| 久久精品电影| 9人人澡人人爽人人精品| 亚洲免费小视频| 亚洲国内自拍| 午夜精品国产| 一区二区三区四区五区视频 | 欧美精品日韩| 久久aⅴ国产欧美74aaa| 欧美国产亚洲另类动漫| 久久国产精品99精品国产| 欧美大秀在线观看| 狠狠久久婷婷| 午夜精品久久| 亚洲午夜羞羞片| 欧美国产精品中文字幕| 欧美永久精品| 免费av成人在线| 国产精品九九久久久久久久| 亚洲一区欧美激情| 另类尿喷潮videofree| 蜜臀久久久99精品久久久久久| 国内伊人久久久久久网站视频| 亚洲一区欧美二区| 久久狠狠一本精品综合网| 国产一区二区按摩在线观看| 欧美一区二区在线免费播放| 久久久久久网址|