zoukankan      html  css  js  c++  java
  • NOIP2016模拟 拼接mf(模拟)

     

      1 #include "bits/stdc++.h"
      2 using namespace std;
      3 typedef long long LL;
      4 const int MAX=10;
      5 char n[105];
      6 struct Cube{
      7     int c[MAX][MAX][MAX];//前 后 左 右 上 下 
      8     void out(){
      9         int i,j,k;
     10         for (i=1;i<=6;i++){
     11             for (j=1;j<=3;j++){
     12                 for (k=1;k<=3;k++)
     13                      printf("%d",c[i][j][k]);
     14                 printf("
    ");
     15             }
     16         }
     17     }
     18     void work1(){
     19         int i,j,k,h;
     20         int a[MAX],vv[MAX][MAX];
     21         a[1]=c[1][1][3],a[2]=c[1][2][3],a[3]=c[1][3][3];
     22         c[1][1][3]=c[6][1][3],c[1][2][3]=c[6][2][3],c[1][3][3]=c[6][3][3];//下→前 
     23         c[6][1][3]=c[2][1][3],c[6][2][3]=c[2][2][3],c[6][3][3]=c[2][3][3];//后→下 
     24         c[2][1][3]=c[5][1][3],c[2][2][3]=c[5][2][3],c[2][3][3]=c[5][3][3];//上→后
     25         c[5][1][3]=a[1],c[5][2][3]=a[2],c[5][3][3]=a[3];//前→上 
     26         for (k=1;k<=3;k++)
     27          for (h=1;h<=3;h++)
     28           vv[k][h]=c[4][k][h];
     29         c[4][1][3]=vv[1][1],c[4][2][3]=vv[1][2],c[4][3][3]=vv[1][3];
     30         c[4][1][2]=vv[2][1],c[4][2][2]=vv[2][2],c[4][3][2]=vv[2][3];
     31         c[4][1][1]=vv[3][1],c[4][2][1]=vv[3][2],c[4][3][1]=vv[3][3];
     32     }
     33     void work2(){
     34         int i,j,k,h;
     35         int a[MAX],vv[MAX][MAX];
     36         for (i=1;i<=3;i++){
     37             a[1]=c[1][1][3],a[2]=c[1][2][3],a[3]=c[1][3][3];
     38             c[1][1][3]=c[6][1][3],c[1][2][3]=c[6][2][3],c[1][3][3]=c[6][3][3];//下→前 
     39             c[6][1][3]=c[2][1][3],c[6][2][3]=c[2][2][3],c[6][3][3]=c[2][3][3];//后→下 
     40             c[2][1][3]=c[5][1][3],c[2][2][3]=c[5][2][3],c[2][3][3]=c[5][3][3];//上→后
     41             c[5][1][3]=a[1],c[5][2][3]=a[2],c[5][3][3]=a[3];//前→上 
     42             for (k=1;k<=3;k++)
     43              for (h=1;h<=3;h++)
     44               vv[k][h]=c[4][k][h];
     45             c[4][1][3]=vv[1][1],c[4][2][3]=vv[1][2],c[4][3][3]=vv[1][3];
     46             c[4][1][2]=vv[2][1],c[4][2][2]=vv[2][2],c[4][3][2]=vv[2][3];
     47             c[4][1][1]=vv[3][1],c[4][2][1]=vv[3][2],c[4][3][1]=vv[3][3];
     48         }
     49     }
     50     void work3(){
     51         int i,j,k,h;
     52         int a[MAX];int vv[MAX][MAX];
     53         a[1]=c[1][1][1],a[2]=c[1][1][2],a[3]=c[1][1][3];
     54         c[1][1][1]=c[3][1][1],c[1][1][2]=c[3][1][2],c[1][1][3]=c[3][1][3];//左→前
     55         c[3][1][1]=c[2][1][1],c[3][1][2]=c[2][1][2],c[3][1][3]=c[2][1][3];//后→左
     56         c[2][1][1]=c[4][1][1],c[2][1][2]=c[4][1][2],c[2][1][3]=c[4][1][3];//右→后
     57         c[4][1][1]=a[1],c[4][1][2]=a[2],c[4][1][3]=a[3];//前→右 
     58         for (k=1;k<=3;k++)
     59          for (h=1;h<=3;h++)
     60           vv[k][h]=c[5][k][h];
     61         c[5][1][3]=vv[1][1],c[5][2][3]=vv[1][2],c[5][3][3]=vv[1][3];
     62         c[5][1][2]=vv[2][1],c[5][2][2]=vv[2][2],c[5][3][2]=vv[2][3];
     63         c[5][1][1]=vv[3][1],c[5][2][1]=vv[3][2],c[5][3][1]=vv[3][3];
     64     }
     65     void work4(){
     66         int i,j,k,h;
     67         int a[MAX];int vv[MAX][MAX];
     68         for (i=1;i<=3;i++){
     69             a[1]=c[1][1][1],a[2]=c[1][1][2],a[3]=c[1][1][3];
     70             c[1][1][1]=c[3][1][1],c[1][1][2]=c[3][1][2],c[1][1][3]=c[3][1][3];//左→前
     71             c[3][1][1]=c[2][1][1],c[3][1][2]=c[2][1][2],c[3][1][3]=c[2][1][3];//后→左
     72             c[2][1][1]=c[4][1][1],c[2][1][2]=c[4][1][2],c[2][1][3]=c[4][1][3];//右→后
     73             c[4][1][1]=a[1],c[4][1][2]=a[2],c[4][1][3]=a[3];//前→右 
     74         for (k=1;k<=3;k++)
     75          for (h=1;h<=3;h++)
     76           vv[k][h]=c[5][k][h];
     77         c[5][1][3]=vv[1][1],c[5][2][3]=vv[1][2],c[5][3][3]=vv[1][3];
     78         c[5][1][2]=vv[2][1],c[5][2][2]=vv[2][2],c[5][3][2]=vv[2][3];
     79         c[5][1][1]=vv[3][1],c[5][2][1]=vv[3][2],c[5][3][1]=vv[3][3];
     80         }
     81     }
     82 }mat;
     83 inline int read(){char c;int an(0);c=getchar();while (c<'0'||c>'9')c=getchar();while (c>='0'&&c<='9'){an=an*10+c-'0';c=getchar();}return an;}
     84 int main(){
     85     freopen ("cube.in","r",stdin);
     86     freopen ("cube.out","w",stdout);
     87     gets(n+1);
     88     int ln=strlen(n+1),cc,i,j,k;
     89     for (i=1;i<=6;i++){
     90         for (j=1;j<=3;j++){
     91             cc=read();
     92             mat.c[i][j][3]=cc%10;cc/=10;
     93             mat.c[i][j][2]=cc%10;cc/=10;
     94             mat.c[i][j][1]=cc%10;cc/=10;
     95         }
     96     }
     97     for (i=1;i<=ln;i++){
     98         if (n[i]=='1') mat.work1();
     99         if (n[i]=='2') mat.work2();
    100         if (n[i]=='3') mat.work3();
    101         if (n[i]=='4') mat.work4();
    102     }
    103     mat.out();
    104     return 0;
    105 }
    未来是什么样,未来会发生什么,谁也不知道。 但是我知道, 起码从今天开始努力, 肯定比从明天开始努力, 要快一天实现梦想。 千里之行,始于足下! ——《那年那兔那些事儿》
  • 相关阅读:
    ST3 插件和技巧
    博客园中 代码使用 sublime-text 的主题
    JavaScript中的 prototype 和 constructor
    JavaScript 代码小片段
    JavaScript 静态方法和实例方法
    JavaScript 闭包的例子
    关于linux 交叉编译器的安装
    scrapy 实现mysql 数据保存
    django 实现 内网访问 和 用花生壳进行内网穿透
    django 中从外界借助多个网站时 static 的存放和整理
  • 原文地址:https://www.cnblogs.com/keximeiruguo/p/6049434.html
Copyright © 2011-2022 走看看