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

Why so serious? --[NKU]schindlerlee

2010年03月04日星期四.pku1448 && nwerc 2001 cube 超麻煩的搜索

2010年03月04日星期四.pku1448 && nwerc 2001 cube 超麻煩的搜索
pku1448:這題就兩個字弓雖
給出六個平面,問是不是能拼成一個立方體。
每個面有8種狀態(tài), 0,90,180,270,然后還有鏡面翻轉(zhuǎn)之后同樣的四個狀態(tài)。
然后可以選一個當(dāng)?shù)酌妫硗?個全排列。
復(fù)雜度是 5! * 8 ^ 5...如果剪枝不夠好的話就會TLE了。。
我用的方法是把立方體按照這種方法展開:
/*
?* oh my god!!
?.??????????????????????????????????????????? ?? [0][0] [0][1] [0][2] [0][3] [0][4] [0][5]?????????????????????????????????????????? ?
?.???????????????????????????????????????????? 2[1][0] [1][1] [1][2] [1][3] [1][4] [1][5]????????????????????????????????????????? ?
?.??????????????????????????????????????????? ?? [2][0] [2][1] [2][2] [2][3] [2][4] [2][5]????????????????????????????????????????? ?
?.??????????????????????????????????????????? ?? [3][0] [3][1] [3][2] [3][3] [3][4] [3][5]????????????????????????????????????????? ?
?.??????????????????????????????????????????? ?? [4][0] [4][1] [4][2] [4][3] [4][4] [4][5]????????????????????????????????????????? ?
?.???????????????????????????????????????????? ? [5][0] [5][1] [5][2] [5][3] [5][4] [5][5]????????????????????????????????????????? ?
?.
?.? [0][0] [0][1] [0][2] [0][3] [0][4] [0][5]?? [0][0] [0][1] [0][2] [0][3] [0][4] [0][5] ? [0][0] [0][1] [0][2] [0][3] [0][4] [0][5] ? [0][0] [0][1] [0][2] [0][3] [0][4] [0][5]
?.? [1][0] [1][1] [1][2] [1][3] [1][4] [1][5]?? [1][0] [1][1] [1][2] [1][3] [1][4] [1][5]?? [1][0] [1][1] [1][2] [1][3] [1][4] [1][5] ? [1][0] [1][1] [1][2] [1][3] [1][4] [1][5]
?.? [2][0] [2][1] [2][2] [2][3] [2][4] [2][5]?? [2][0] [2][1] [2][2] [2][3] [2][4] [2][5] ? [2][0] [2][1] [2][2] [2][3] [2][4] [2][5] ? [2][0] [2][1] [2][2] [2][3] [2][4] [2][5]
?.? [3][0] [3][1] [3][2] [3][3] [3][4] [3][5]?? [3][0] [3][1] [3][2] [3][3] [3][4] [3][5] 4[3][0] [3][1] [3][2] [3][3] [3][4] [3][5] 5[3][0] [3][1] [3][2] [3][3] [3][4] [3][5]
?.1[4][0] [4][1] [4][2] [4][3] [4][4] [4][5] 0[4][0] [4][1] [4][2] [4][3] [4][4] [4][5] ? [4][0] [4][1] [4][2] [4][3] [4][4] [4][5]?? [4][0] [4][1] [4][2] [4][3] [4][4] [4][5]
?.? [5][0] [5][1] [5][2] [5][3] [5][4] [5][5]?? [5][0] [5][1] [5][2] [5][3] [5][4] [5][5] ? [5][0] [5][1] [5][2] [5][3] [5][4] [5][5] ? [5][0] [5][1] [5][2] [5][3] [5][4] [5][5]
?.
?.?????????????????????????????????????????? ? ? [0][0] [0][1] [0][2] [0][3] [0][4] [0][5]????????????????????????????????????????? ?
?.????????????????????????????????????????? ? ?? [1][0] [1][1] [1][2] [1][3] [1][4] [1][5]????????????????????????????????????????? ?
?.???????????????????????????????????????? ? ??? [2][0] [2][1] [2][2] [2][3] [2][4] [2][5]????????????????????????????????????????? ?
?.???????????????????????????????????????????? 3[3][0] [3][1] [3][2] [3][3] [3][4] [3][5]????????????????????????????????????????? ?
?.??????????????????????????????????????????? ?? [4][0] [4][1] [4][2] [4][3] [4][4] [4][5]????????????????????????????????????????? ?
?.??????????????????????????????????????????? ?? [5][0] [5][1] [5][2] [5][3] [5][4] [5][5]????????????????????????????????????????? ?
?* */


然后找出角點和邊的對應(yīng)關(guān)系,之后檢查每個點是否之后一個X。
?1?bool?ckvertex()
?2?{
?3???int?a;
?4???a?=?p[c[0]][0][0]?+?p[c[1]][0][5]?+?p[c[2]][5][0];?if?(a?!=?1)?{?return?false;?}
?5???a?=?p[c[0]][0][5]?+?p[c[2]][5][5]?+?p[c[4]][0][0];?if?(a?!=?1)?{?return?false;?}
?6???a?=?p[c[0]][5][0]?+?p[c[1]][5][5]?+?p[c[3]][0][0];?if?(a?!=?1)?{?return?false;?}
?7???a?=?p[c[0]][5][5]?+?p[c[4]][5][0]?+?p[c[3]][0][5];?if?(a?!=?1)?{?return?false;?}
?8???//
?9???a?=?p[c[1]][0][0]?+?p[c[2]][0][0]?+?p[c[5]][0][5];?if?(a?!=?1)?{?return?false;?}
10???a?=?p[c[1]][5][0]?+?p[c[3]][5][0]?+?p[c[5]][5][5];?if?(a?!=?1)?{?return?false;?}
11???a?=?p[c[2]][0][5]?+?p[c[4]][0][5]?+?p[c[5]][0][0];?if?(a?!=?1)?{?return?false;?}
12???a?=?p[c[3]][5][5]?+?p[c[4]][5][5]?+?p[c[5]][5][0];?if?(a?!=?1)?{?return?false;?}
13???return?true;
14?}
15?http://m.shnenglu.com/schindlerlee/
16?bool?ckedge()
17?{
18???int?i,a;
19???for?(i?=?1;i?<=?4;i++)?{
20???????a?=?p[c[0]][0][i]?+?p[c[2]][5][i];if(a?!=?1)?return?false;
21???????a?=?p[c[0]][5][i]?+?p[c[3]][0][i];if(a?!=?1)?return?false;
22???????a?=?p[c[0]][i][0]?+?p[c[1]][i][5];if(a?!=?1)?return?false;
23???????a?=?p[c[0]][i][5]?+?p[c[4]][i][0];if(a?!=?1)?return?false;
24???????//bottom
25???????a?=?p[c[1]][0][i]?+?p[c[2]][i][0];if(a?!=?1)?return?false;
26???????a?=?p[c[1]][5][i]?+?p[c[3]][5-i][0];if(a?!=?1)?return?false;
27???????a?=?p[c[4]][0][i]?+?p[c[2]][5-i][5];if(a?!=?1)?return?false;
28???????a?=?p[c[3]][i][5]?+?p[c[4]][5][i];if(a?!=?1)?return?false;
29???????//vertical
30???????a?=?p[c[2]][0][i]?+?p[c[5]][0][5-i];if(a?!=?1)?return?false;
31???????a?=?p[c[3]][5][i]?+?p[c[5]][5][5-i];if(a?!=?1)?return?false;
32???????a?=?p[c[4]][i][5]?+?p[c[5]][i][0];if(a?!=?1)?return?false;
33???????a?=?p[c[1]][i][0]?+?p[c[5]][i][5];if(a?!=?1)?return?false;
34???????//up
35???}
36???return?true;
37?}

不能把這兩個函數(shù)放在遞歸出口,一定會超時。。。
需要把這兩個函數(shù)做成剪枝才能不超時。
??1?
??2?char?p[6][6][6];
??3?int?c[6]?=?{0,1,2,3,4,5};
??4?
??5?void?rotate90(char?p[6][6])
??6?{
??7???char?t;
??8???char?tmp[6];
??9???t?=?p[0][0];?//?vertex
?10???p[0][0]?=?p[0][5];
?11???p[0][5]?=?p[5][5];
?12???p[5][5]?=?p[5][0];
?13???p[5][0]?=?t;
?14?
?15???for?(int?i?=?1;i?<=?4;i++)?{?tmp[i]?=?p[0][i];?}
?16???for?(int?i?=?1;i?<=?4;i++)?{?p[0][i]?=?p[i][5];?}
?17???for?(int?i?=?1;i?<=?4;i++)?{?p[i][5]?=?p[5][5-i];?}
?18???for?(int?i?=?1;i?<=?4;i++)?{?p[5][i]?=?p[i][0];?}
?19???for?(int?i?=?1;i?<=?4;i++)?{?p[i][0]?=?tmp[5-i];?}
?20?}
?21?
?22?void?reflect(char?p[6][6])
?23?{
?24???int?i;
?25???char?tmp[6];
?26???for?(i?=?0;i?<?6;i++)?{?tmp[i]?=?p[0][i];?}
?27???for?(i?=?0;i?<?6;i++)?{?p[0][i]?=?p[5][i];?}
?28???for?(i?=?0;i?<?6;i++)?{?p[5][i]?=?tmp[i];?}
?29???swap(p[1][0],p[4][0]);
?30???swap(p[2][0],p[3][0]);
?31?
?32???swap(p[1][5],p[4][5]);
?33???swap(p[2][5],p[3][5]);
?34?}
?35?
?36?bool?dfs(int?depth)
?37?{
?38???int?a,i;
?39???if?(depth?==?2)?{
?40???????for?(i?=?1;i?<=?4;i++)?{
?41???????????a?=?p[c[0]][i][0]?+?p[c[1]][i][5];if(a?!=?1)?return?false;
?42???????}
?43???}
?44?
?45???if?(depth?==?3)?{
?46???????for?(i?=?1;i?<=?4;i++)?{
?47???????????a?=?p[c[1]][0][i]?+?p[c[2]][i][0];if(a?!=?1)?return?false;
?48???????????a?=?p[c[0]][0][i]?+?p[c[2]][5][i];if(a?!=?1)?return?false;
?49???????}
?50???????a?=?p[c[0]][0][0]?+?p[c[1]][0][5]?+?p[c[2]][5][0];?if?(a?!=?1)?{?return?false;?}
?51???}
?52?
?53???if?(depth?==?4)?{
?54???????for?(i?=?1;i?<=?4;i++)?{
?55???????????a?=?p[c[1]][5][i]?+?p[c[3]][5-i][0];if(a?!=?1)?return?false;
?56???????????a?=?p[c[0]][5][i]?+?p[c[3]][0][i];if(a?!=?1)?return?false;
?57???????}
?58???????a?=?p[c[0]][5][0]?+?p[c[1]][5][5]?+?p[c[3]][0][0];?if?(a?!=?1)?{?return?false;?}
?59???}
?60?
?61???if?(depth?==?5)?{
?62???????for?(i?=?1;i?<=?4;i++)?{
?63???????????a?=?p[c[3]][i][5]?+?p[c[4]][5][i];if(a?!=?1)?return?false;
?64???????????a?=?p[c[0]][i][5]?+?p[c[4]][i][0];if(a?!=?1)?return?false;
?65???????????a?=?p[c[4]][0][i]?+?p[c[2]][5-i][5];if(a?!=?1)?return?false;
?66???????}
?67???????a?=?p[c[0]][0][5]?+?p[c[2]][5][5]?+?p[c[4]][0][0];?if?(a?!=?1)?{?return?false;?}
?68???????a?=?p[c[0]][5][5]?+?p[c[4]][5][0]?+?p[c[3]][0][5];?if?(a?!=?1)?{?return?false;?}
?69???}
?70?
?71???if?(depth?==?6)?{
?72???????for?(i?=?1;i?<=?4;i++)?{
?73???????????a?=?p[c[3]][5][i]?+?p[c[5]][5][5-i];if(a?!=?1)?return?false;
?74???????????a?=?p[c[4]][i][5]?+?p[c[5]][i][0];if(a?!=?1)?return?false;
?75???????????a?=?p[c[1]][i][0]?+?p[c[5]][i][5];if(a?!=?1)?return?false;
?76???????????a?=?p[c[2]][0][i]?+?p[c[5]][0][5-i];if(a?!=?1)?return?false;
?77???????}
?78???????//
?79???????a?=?p[c[1]][0][0]?+?p[c[2]][0][0]?+?p[c[5]][0][5];?if?(a?!=?1)?{?return?false;?}
?80???????a?=?p[c[1]][5][0]?+?p[c[3]][5][0]?+?p[c[5]][5][5];?if?(a?!=?1)?{?return?false;?}
?81???????a?=?p[c[2]][0][5]?+?p[c[4]][0][5]?+?p[c[5]][0][0];?if?(a?!=?1)?{?return?false;?}
?82???????a?=?p[c[3]][5][5]?+?p[c[4]][5][5]?+?p[c[5]][5][0];?if?(a?!=?1)?{?return?false;?}
?83??
?84???????return?true;
?85???}
?86?
?87???for?(int?i?=?0;i?<?4;i++)?{
?88???????rotate90(p[c[depth]]);
?89???????if(dfs(depth?+?1))
?90?????????return?true;
?91???}
?92???reflect(p[c[depth]]);
?93???for?(int?i?=?0;i?<?4;i++)?{
?94???????rotate90(p[c[depth]]);
?95???????if(dfs(depth?+?1))
?96?????????return?true;
?97???}
?98???reflect(p[c[depth]]);
?99???return?false;
100?}
101?
102?bool?judge()
103?{
104???int?i,j,k;
105???do?{
106???????if(dfs(1))
107?????????return?true;
108???}while(next_permutation(c?+?1,c?+?6));
109?}
110?
111?int?main()
112?{
113???int?i,j,k,testcase,testid?=?1;
114???scanf("%d\n",&testcase);
115???while?(testcase--)?{
116???????for?(i?=?0;i?<?6;i++)?{?c[i]?=?i;?}
117???????for?(j?=?0;j?<?6;j++)?{
118???????????for?(i?=?0;i?<?6;i++)?{
119???????????????for?(k?=?0;k?<?6;k++)?{
120???????????????????p[i][j][k]?=?getchar();
121???????????????}
122???????????????getchar();
123???????????}
124???????????getchar();
125???????}
126???????for?(i?=?0;i?<?6;i++)?{
127???????????for?(j?=?0;j?<?6;j++)?{
128???????????????for?(k?=?0;k?<?6;k++)?{
129???????????????????p[i][j][k]?=?(p[i][j][k]?==?'X');
130???????????????}
131???????????}
132???????}
133???????printf("Scenario?#%d:\n",testid++);
134???????if?(judge())?{
135???????????printf("Yes\n");
136???????}else?{
137???????????printf("No\n");
138???????}
139???????putchar(10),?getchar();
140???}
141???return?0;
142?}
143?
144?

posted on 2010-03-04 12:49 schindlerlee 閱讀(1237) 評論(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>
            欧美日韩1区| 中文日韩电影网站| 国产精品捆绑调教| 亚洲国产成人高清精品| 欧美精品一区二区久久婷婷| 欧美不卡视频| 欲香欲色天天天综合和网| 亚洲视频在线观看免费| 久久久福利视频| 日韩午夜av电影| 国产精品成人久久久久| 欧美日韩免费在线视频| 久久久久国产精品午夜一区| 国产日韩精品视频一区| 欧美激情第8页| 欧美一区亚洲二区| 欧美专区日韩专区| 午夜久久一区| 久久精品视频免费| 欧美综合77777色婷婷| 午夜在线一区| 蜜臀99久久精品久久久久久软件| 亚洲欧美亚洲| 鲁大师影院一区二区三区| 欧美一区二区在线视频| 欧美亚洲日本网站| 久久蜜桃av一区精品变态类天堂| 亚洲欧美中日韩| 久久久综合精品| 欧美激情一区二区三区高清视频| 欧美激情一区三区| 国产精品久久久久婷婷| 国产婷婷色综合av蜜臀av| 国产精品美女www爽爽爽视频| 欧美体内谢she精2性欧美| 国产欧美日韩伦理| 亚洲人精品午夜| 亚洲调教视频在线观看| 久久精品国产99国产精品澳门| 亚洲欧美清纯在线制服| 蜜桃精品一区二区三区| 亚洲黄色性网站| 亚洲精品乱码久久久久久蜜桃91 | 国产一区欧美| 国产欧美日韩精品一区| 亚洲免费电影在线观看| 亚洲欧美在线高清| 欧美在线一二三| 亚洲日本中文字幕| 久久久蜜桃精品| 国产情人节一区| 亚洲免费中文| 亚洲一区三区在线观看| 欧美激情一级片一区二区| 亚洲精品日韩一| 日韩视频三区| 国产精品美腿一区在线看| 亚洲一区二区黄| 亚洲人成网站精品片在线观看| 久久久久网站| 国产日韩1区| 乱码第一页成人| 老司机成人网| 一本一本a久久| 欧美一区二区黄色| 精品二区久久| 亚洲视频你懂的| 国产小视频国产精品| 欧美国产日韩二区| 国产精品欧美一区喷水| 欧美激情国产高清| 国产一区二区三区在线观看精品| 狂野欧美一区| 国内外成人免费视频| 欧美另类久久久品| 国产精品视频免费一区| 伊人精品成人久久综合软件| 西瓜成人精品人成网站| 国产伪娘ts一区| 亚洲国产欧美在线| 欧美在线观看网站| 亚洲视频1区2区| 欧美精品一区二区三区很污很色的 | 一区二区三区日韩| 欧美在线观看一区二区三区| 亚洲第一黄色| 欧美一区二区在线免费播放| 欧美丝袜第一区| 亚洲婷婷国产精品电影人久久| 亚洲韩国青草视频| 麻豆精品精华液| 亚洲三级电影全部在线观看高清| 欧美大片免费久久精品三p| 久久久久欧美| 99国产麻豆精品| 日韩视频在线一区| 国产精品日本欧美一区二区三区| 99在线观看免费视频精品观看| 久久久天天操| 久热re这里精品视频在线6| 亚洲精品免费看| 亚洲精品国产精品国自产在线| 欧美不卡视频| 亚洲男人的天堂在线aⅴ视频| 欧美一级淫片播放口| 国产精品影院在线观看| 欧美在线国产精品| 欧美日本三区| 欧美一区二区视频在线观看| 亚洲自拍偷拍色片视频| 国产一区自拍视频| 免费观看成人www动漫视频| 欧美国产精品| 午夜亚洲激情| 久久久综合网站| 一区二区三区欧美在线| 久久久久免费视频| 欧美专区福利在线| 欧美视频三区在线播放| 欧美裸体一区二区三区| 午夜精品剧场| 久久久久久欧美| 久久精品卡一| 欧美不卡视频| 免费一区二区三区| 国产目拍亚洲精品99久久精品 | 日韩视频在线观看国产| 国产精品亚洲综合| 亚洲视频二区| 99re热这里只有精品视频| 久久久久综合| 久久久爽爽爽美女图片| 国产精品一区二区久久国产| 一本大道av伊人久久综合| 亚洲国产高清自拍| 老妇喷水一区二区三区| 狼狼综合久久久久综合网| 亚洲电影第1页| 猛干欧美女孩| 亚洲网站在线| 久久久久天天天天| 亚洲激情成人网| 欧美激情无毛| 日韩视频精品在线观看| 亚洲男人影院| 国产精品一区二区a| 久久精品国产第一区二区三区| 美女亚洲精品| 亚洲精美视频| 欧美日本三区| 午夜在线视频观看日韩17c| 久久久99免费视频| 激情成人亚洲| 欧美日韩综合另类| 欧美成人中文字幕| 午夜精品一区二区三区电影天堂 | 99精品国产在热久久| 亚洲日本在线观看| 看片网站欧美日韩| 一本色道久久88综合亚洲精品ⅰ| 欧美国产三区| 欧美激情一区| 先锋影音国产一区| 黄色成人在线网站| 国产精品qvod| 久久激情视频久久| 亚洲精品久久在线| 欧美在线999| 亚洲小说欧美另类社区| 亚洲国产精品第一区二区三区| 欧美午夜精品久久久久久超碰| 欧美一区二区三区成人| 亚洲精品一区二区三区四区高清| 久久天堂精品| 亚洲午夜精品国产| 亚洲第一久久影院| 国产精品一区毛片| 欧美性大战久久久久久久蜜臀| 久久久xxx| 香蕉久久夜色| 中日韩男男gay无套| 久久综合九色综合欧美就去吻| 99热这里只有精品8| 亚洲二区视频在线| 久久香蕉国产线看观看av| 性刺激综合网| 翔田千里一区二区| 久久精品免视看| 久久久久.com| 欧美国产日韩一区二区在线观看 | 久久精品国产亚洲高清剧情介绍| 亚洲精品乱码久久久久久蜜桃麻豆| 欧美日韩在线三区| 欧美午夜欧美| 国产精品久久久久9999高清| 国产精品久久999| 国产亚洲aⅴaaaaaa毛片| 国产亚洲一级高清| 在线播放亚洲| 在线一区二区三区四区五区|