亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

HDU 5983 Pocket Cube (簡單模擬)

2019-11-11 05:46:40
字體:
來源:轉載
供稿:網友

大體題意:

給你一個2*2*2的魔方,問你能否一步到達各個面的顏色完全一樣。

思路:

其實挺簡單的,題意已經給足了提示,已經告訴你了魔方怎么進行標號。(就是那個圖)

只要給魔方標號,怎么轉就很簡單了,可以預處理一個b 數組和c 數組,分別是魔方轉一個面時候的側面的八個面和上面的四個面,循環賦值即可。

這樣 寫好循環賦值函數后,轉六個面只需要更改b數組和c數組即可。

詳細見代碼:

#include <cstdio>#include <cstring>#include <algorithm>using namespace std;int a[25];bool ok;int ori[25];void fuyuan(){    for (int i = 0; i < 24; ++i) a[i] = ori[i];}bool check(){    for (int i = 0; i < 24; i += 4){        for (int j = i; j < i+4; ++j){            if (a[j] != a[i]) return false;        }    }    return true;}int b[] = {14,15,20,22,5,4,19,17};int c[] = {2,3,1,0};void zhuan(){    int t1 = a[b[0]], t2 = a[b[1]];    for (int i = 0; i < 6; i += 2){        int id1 = b[i], id2 = b[i+1];        int nid1 = b[i+2], nid2 = b[i+3];        a[id1] = a[nid1];        a[id2] = a[nid2];    }    a[b[6] ] = t1; a[b[7] ] = t2;    if (check()) ok = 1;fuyuan();    t1 = a[b[7]], t2 = a[b[6]];    for (int i = 7; i > 2; i -= 2){        int id1 = b[i], id2 = b[i-1];        int nid1 = b[i-2], nid2 = b[i-3];        a[id1] = a[nid1];        a[id2] = a[nid2];    }    a[b[0] ] = t2; a[b[1] ] = t1;    if (check()) ok = 1; fuyuan();}void add(int a0,int a1,int a2,int a3,int a4,int a5,int a6,int a7,int c0,int c1,int c2,int c3){    b[0] = a0;b[1] = a1;b[2] = a2;b[3] = a3;b[4] = a4;b[5] = a5;b[6] = a6;b[7] = a7;    c[0] = c0;c[1] = c1;c[2] = c2;c[3] = c3;}void up(){    add(14,15,20,22,5,4,19,17,2,3,1,0);    zhuan();}void down(){    add(12,13,21,23,7,6,18,16,8,9,11,10);    zhuan();}void Left(){    add(2,0,14,12,10,8,6,4,19,17,18,16);    zhuan();}void Right(){    add(3,1,15,13,11,9,7,5,20,22,23,21);    zhuan();}void qian(){    add(0,1,20,21,11,10,16,17,14,15,13,12);    zhuan();}void hou(){    add(2,3,22,23,9,8,18,19,4,5,6,7);    zhuan();}int main(){    int T;    scanf("%d",&T);    while(T--){        ok = 0;        for (int i = 0; i < 24; ++i) scanf("%d",a+i);        for (int i = 0; i < 24; ++i)ori[i] = a[i];        if (check()) ok = 1;        up(); down(); Left(); Right(); qian(); hou();        if (ok)puts("YES");        else puts("NO");    }    return 0;}

Pocket Cube

Time Limit: 2000/1000 MS (java/Others)    Memory Limit: 65536/65536 K (Java/Others)Total Submission(s): 358    Accepted Submission(s): 131PRoblem DescriptionThe Pocket Cube, also known as the Mini Cube or the Ice Cube, is the 2 × 2 × 2 equivalence of a Rubik’s Cube.The cube consists of 8 pieces, all corners.Each piece is labeled by a three dimensional coordinate (h, k, l) where h, k, l ∈ {0, 1}. Each of the six faces owns four small faces filled with a positive integer.For each step, you can choose a certain face and turn the face ninety degrees clockwise or counterclockwise.You should judge that if one can restore the pocket cube in one step. We say a pocket cube has been restored if each face owns four same integers. InputThe first line of input contains one integer N(N ≤ 30) which is the number of test cases.For each test case, the first line describes the top face of the pocket cube, which is the common 2 × 2 face of pieceslabelled by (0, 0, 1),(0, 1, 1),(1, 0, 1),(1, 1, 1). Four integers are given corresponding to the above pieces.The second line describes the front face, the common face of (1, 0, 1),(1, 1, 1),(1, 0, 0),(1, 1, 0). Four integers aregiven corresponding to the above pieces.The third line describes the bottom face, the common face of (1, 0, 0),(1, 1, 0),(0, 0, 0),(0, 1, 0). Four integers aregiven corresponding to the above pieces.The fourth line describes the back face, the common face of (0, 0, 0),(0, 1, 0),(0, 0, 1),(0, 1, 1). Four integers aregiven corresponding to the above pieces.The fifth line describes the left face, the common face of (0, 0, 0),(0, 0, 1),(1, 0, 0),(1, 0, 1). Four integers are givencorresponding to the above pieces.The six line describes the right face, the common face of (0, 1, 1),(0, 1, 0),(1, 1, 1),(1, 1, 0). Four integers are givencorresponding to the above pieces.In other Words, each test case contains 24 integers a, b, c to x. You can flat the surface to get the surface developmentas follows.
+ - + - + - + - + - + - +| q | r | a | b | u | v |+ - + - + - + - + - + - +| s | t | c | d | w | x |+ - + - + - + - + - + - +        | e | f |        + - + - +        | g | h |        + - + - +        | i | j |        + - + - +        | k | l |        + - + - +        | m | n |        + - + - +        | o | p |        + - + - + OutputFor each test case, output YES if can be restored in one step, otherwise output NO. Sample Input
41 1 1 12 2 2 23 3 3 34 4 4 45 5 5 56 6 6 66 6 6 61 1 1 12 2 2 23 3 3 35 5 5 54 4 4 41 4 1 42 1 2 13 2 3 24 3 4 35 5 5 56 6 6 61 3 1 32 4 2 43 1 3 14 2 4 25 5 5 56 6 6 6 Sample Output
YESYESYESNO Source2016ACM/ICPC亞洲區青島站-重現賽(感謝中國石油大學) Recommendjiangzijing2015   |   We have carefully selected several similar problems for you:  6014 6013 6012 6011 6010  


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩在线观看免费高清完整版| 亚洲国产精品久久91精品| 久久久久久久一区二区| 日韩欧美高清视频| 91精品久久久久久久久久久| 国产亚洲欧洲黄色| 欧美激情视频在线| 国产精品av免费在线观看| 国产国语videosex另类| 自拍偷拍亚洲一区| 国产视频久久网| 亚洲成人三级在线| 欧美精品成人在线| 黄色91在线观看| 成人精品久久久| 亚洲综合中文字幕在线观看| 亚洲欧美自拍一区| 精品亚洲夜色av98在线观看| 欧美激情综合色| 久久久久日韩精品久久久男男| 成人综合国产精品| 国产在线视频欧美| 精品久久久中文| 日韩精品有码在线观看| 日韩人在线观看| 国产99久久精品一区二区| 日韩在线观看精品| 亚洲国产91精品在线观看| 日本亚洲欧洲色| 国产精品久久97| 久久99久久99精品中文字幕| 日韩av电影手机在线观看| 精品国内产的精品视频在线观看| 欧洲永久精品大片ww免费漫画| 久久精品电影一区二区| 国产日韩欧美日韩| 成人在线一区二区| 国产美女久久精品| 日本欧美一级片| 亚洲午夜激情免费视频| 中文字幕日韩综合av| 尤物yw午夜国产精品视频| 97久久精品视频| 欧美片一区二区三区| 国产精品无码专区在线观看| 亚洲欧美一区二区三区情侣bbw| 热久久免费国产视频| 91精品啪在线观看麻豆免费| 欧美激情三级免费| 欧美午夜精品久久久久久浪潮| 91高清视频在线免费观看| 亚洲字幕在线观看| 久久久最新网址| 成人www视频在线观看| 在线电影欧美日韩一区二区私密| 韩曰欧美视频免费观看| 精品国产电影一区| 亚洲美女av电影| 亚洲视频在线视频| 97欧美精品一区二区三区| 久久精品视频亚洲| 亚洲激情在线视频| 主播福利视频一区| 欧美小视频在线| 欧美日韩高清在线观看| 国产精品久久综合av爱欲tv| 成人美女av在线直播| 欧美激情一级欧美精品| 在线观看久久av| 亚洲乱码国产乱码精品精| 青青草成人在线| 亚洲国产日韩精品在线| 国产美女精品视频| 欧美成年人视频网站欧美| 日本免费在线精品| 精品久久香蕉国产线看观看亚洲| 亚洲国产精品电影| 日韩精品免费在线视频观看| 96pao国产成视频永久免费| 国产精品白丝av嫩草影院| 亚洲精品视频网上网址在线观看| 欧美国产日产韩国视频| 岛国av一区二区在线在线观看| 久久久久久久影视| 亚洲成人久久久久| 午夜精品久久17c| 国产精品白嫩美女在线观看| 国产在线日韩在线| 久久久久久久久国产| 日韩欧美在线中文字幕| 国产在线观看91精品一区| 8x拔播拔播x8国产精品| 97超碰蝌蚪网人人做人人爽| 国产在线久久久| 一本色道久久88亚洲综合88| 91av在线免费观看视频| 国产精品视频26uuu| 国产一区二区视频在线观看| 国产精品自产拍在线观看| 国语自产精品视频在线看抢先版图片| 成人精品视频久久久久| 欧美乱大交做爰xxxⅹ性3| 性夜试看影院91社区| 国产日韩中文字幕| 日本a级片电影一区二区| 国产精品久久av| 九九热精品视频国产| 亚洲成人网av| 亚洲精品一区二区网址| 97久久精品人人澡人人爽缅北| 色综合久久精品亚洲国产| 久久久亚洲国产| 亚洲美女福利视频网站| 久久久av亚洲男天堂| 欧美中文字幕视频在线观看| 欧美日韩在线观看视频小说| 国产一区二区三区日韩欧美| 亚洲男人天堂网| 自拍偷拍亚洲一区| 亚洲最大成人在线| 欧美日韩亚洲视频一区| 自拍偷拍亚洲一区| 亚洲精品大尺度| 欧美贵妇videos办公室| 午夜精品久久久久久99热| 蜜月aⅴ免费一区二区三区| 国产一区二区三区视频| 国内精品久久久久久中文字幕| 91最新在线免费观看| 欧美一级大片在线观看| 久久久免费高清电视剧观看| 成人免费视频网| 亚洲欧美国产制服动漫| 91国偷自产一区二区三区的观看方式| 96国产粉嫩美女| 亚洲精品日韩在线| 国产精品精品久久久久久| 国产亚洲精品久久久久久777| 亚洲一级一级97网| 午夜精品久久久久久99热软件| 国产精品成人品| 久久精品视频在线| 在线看国产精品| 国产亚洲精品日韩| 欧美性xxxxx极品娇小| 久久99视频精品| 欧美成年人视频网站欧美| 黄色精品在线看| 精品人伦一区二区三区蜜桃免费| 亚洲国产精品悠悠久久琪琪| 亚洲成人精品在线| 国产中文欧美精品| 久久琪琪电影院| 青青草99啪国产免费| 日韩激情第一页| 国产盗摄xxxx视频xxx69| 日韩精品在线免费播放| 2021国产精品视频| 欧美激情免费视频| 永久免费毛片在线播放不卡| 一本色道久久88综合日韩精品| 久久成人亚洲精品| 国产精品美女午夜av| 日本乱人伦a精品|