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

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>
            久久综合狠狠综合久久综青草 | 亚洲国内精品| 亚洲欧美日韩在线一区| 亚洲精品中文字幕有码专区| 免费成人毛片| 一区二区高清在线观看| 一区二区欧美日韩| 国产色产综合产在线视频| 久久激情综合网| 欧美v日韩v国产v| 一二美女精品欧洲| 欧美一区二区在线免费播放| 亚洲国产高清在线观看视频| 一区二区欧美激情| 国模私拍视频一区| 亚洲全黄一级网站| 国产乱子伦一区二区三区国色天香 | 鲁大师成人一区二区三区| 一本色道久久加勒比精品| 欧美一区国产在线| 欧美无砖砖区免费| 欧美一区二区三区免费观看| 久久久久久久一区二区三区| 中文在线一区| 欧美激情亚洲国产| 久久天堂av综合合色| 国产伦精品一区二区三| 亚洲精品免费观看| 亚洲人体影院| 欧美精品一区二区高清在线观看| 久久久亚洲人| 国产日本欧美一区二区三区| 亚洲专区在线| 欧美在线播放一区二区| 欧美三级小说| 在线午夜精品| 先锋影院在线亚洲| 国产一区二区三区成人欧美日韩在线观看 | 亚洲黄色免费电影| 久久欧美中文字幕| 亚洲第一黄色| 亚洲一区二区高清视频| 久久精品亚洲国产奇米99| 狠狠色狠狠色综合系列| 久热国产精品视频| 一本不卡影院| 噜噜噜噜噜久久久久久91| 亚洲高清一区二区三区| 欧美日韩国产一区精品一区| 欧美一级午夜免费电影| 亚洲美女av网站| 国产欧美日韩激情| 欧美一区二区视频97| 久久综合导航| 亚洲午夜三级在线| 在线观看日韩国产| 国产精品久久久久9999| 久久久久看片| 午夜国产欧美理论在线播放| 午夜精品一区二区三区四区 | 久久久精品网| 欧美激情日韩| 久久精品国产一区二区三区免费看| 狠狠噜噜久久| 国产亚洲激情视频在线| 欧美激情综合| 欧美1区2区视频| 亚洲欧美国产精品va在线观看| 亚洲二区视频| 美国成人直播| 毛片一区二区三区| 欧美一区日韩一区| 亚洲欧美制服中文字幕| 亚洲一区亚洲二区| 亚洲一区免费网站| 亚洲主播在线| 亚洲制服av| 亚洲男人影院| 欧美主播一区二区三区美女 久久精品人| 日韩系列欧美系列| 亚洲午夜在线观看| 亚洲欧美第一页| 久久国产黑丝| 美女在线一区二区| 亚洲国产精品一区二区久| 亚洲人久久久| 亚洲一区亚洲| 久久嫩草精品久久久精品| 裸体一区二区三区| 99精品国产一区二区青青牛奶 | 久久久久久久久蜜桃| 午夜性色一区二区三区免费视频| 欧美有码在线观看视频| 亚洲国产综合在线看不卡| 亚洲视频电影图片偷拍一区| 久久精品国产第一区二区三区| 久久综合久久综合九色| 欧美午夜精品一区| 狠狠入ady亚洲精品| 亚洲天堂av在线免费观看| 久久av一区二区| 亚洲毛片av在线| 玖玖精品视频| 亚洲高清成人| 久久免费偷拍视频| 亚洲一区二区精品在线| 亚洲天堂网在线观看| 欧美成人综合网站| 欧美好吊妞视频| 亚洲免费av观看| 久久一区激情| 亚洲免费综合| 国产免费一区二区三区香蕉精| 日韩视频二区| 欧美韩日一区二区| 久久激情中文| 国产精品免费区二区三区观看| 中文亚洲欧美| 亚洲欧洲精品一区二区三区波多野1战4 | 亚洲激情小视频| 欧美国产精品久久| 91久久精品国产91久久| 免费不卡在线观看| 另类亚洲自拍| 洋洋av久久久久久久一区| 欧美中文字幕在线视频| 国产精品久线观看视频| 亚洲福利国产精品| 国产亚洲福利社区一区| 中文精品视频| 伊人久久成人| av成人免费观看| 亚洲国产成人精品久久| 亚洲资源av| 亚洲精品裸体| 亚洲一区二区三区国产| 激情综合色综合久久综合| 亚洲国产一区视频| 国产精品久久9| 亚洲国产高清在线观看视频| 国产午夜精品一区二区三区欧美 | 午夜宅男欧美| 久久久久久亚洲精品杨幂换脸 | 国产欧美日韩亚州综合| 久久久久久久一区二区| 久久久久久有精品国产| 亚洲桃花岛网站| 久久夜色精品国产亚洲aⅴ| 性欧美xxxx大乳国产app| 国产精品成人一区二区| 亚洲精品免费看| 艳女tv在线观看国产一区| 蜜桃伊人久久| 亚洲三级影院| 亚洲欧美高清| 亚洲电影免费观看高清完整版在线观看| 亚洲精品亚洲人成人网| 国产亚洲va综合人人澡精品| 日韩一级大片在线| 亚洲精品视频在线| 久久国产精品99精品国产| 欧美一区二区国产| 国产伦精品一区二区三区免费迷| 亚洲一区二区欧美| 欧美在线播放一区二区| 伊人精品在线| 欧美精品久久一区二区| 国产在线欧美日韩| 久久久久一区二区三区| 久久亚洲精品网站| 91久久线看在观草草青青| 免费观看一级特黄欧美大片| 亚洲欧美制服中文字幕| 欧美sm视频| 亚洲无线观看| 久久综合国产精品| 亚洲精品国精品久久99热| 国产精品久久国产三级国电话系列| 日韩午夜剧场| 久久综合国产精品| 亚洲综合视频一区| 激情视频一区| 欧美母乳在线| 久久精品九九| 日韩午夜电影| 亚洲成人自拍视频| 亚洲欧美日韩一区在线| 尤物99国产成人精品视频| 欧美日韩在线播放| 免费视频一区| 久久精品欧洲| 亚洲女人小视频在线观看| 久久亚洲不卡| 久久aⅴ国产欧美74aaa| 亚洲欧美一区二区原创| 亚洲国产精品一区二区第四页av| 亚洲女性裸体视频| 日韩视频在线一区二区三区| 亚洲激情女人| 亚洲欧洲一二三|