zoukankan      html  css  js  c++  java
  • NOIP模拟赛 魔方

    【题目描述】

    ccy(ndsf)觉得手动复原魔方太慢了,所以他要借助计算机。

    ccy(ndsf)家的魔方都是3*3*3的三阶魔方,大家应该都见过。

    3的“顺时针”改为“逆时针”,即3 4以图为准。)
    ccy(ndfs)从网上搜了一篇攻略,并找人翻译成了他自己会做的方法。现在告诉你他的魔方情况,以及他从网上搜到的攻略,请你求出最后魔方变成什么样子。

    【输入格式】
       第一行,一串数字,表示从网上搜到的攻略。
       下面6*3行,每行3个数字,每三行表示魔方一个面的情况,六个面的顺序是前、后、左、右、上、下。

    【输出格式】
       6*3行,表示处理后的魔方,形式同输入。

    【样例输入】

    23
    121
    221
    111
    123
    321
    111
    123
    321
    132
    132
    231
    132
    121
    112
    233
    332
    111
    333

    【样例输出】

    123
    222
    113
    212
    321
    113
    122
    321
    132
    121
    333
    121
    211
    312
    113
    331
    111
    331

    【样例解释】

    【数据范围】

    40%的数据,攻略的长度小于5且仅有4种操作的其中一种

    100%的数据,攻略的长度小于100

     

    神TM手算哈希表。。。算我一个小时

     1 #include<iostream>
     2 #include<cstring>
     3 using namespace std;
     4 
     5 int A[4][6][9]={0,0,4,0,0,4,0,0,4,
     6                 1,1,5,1,1,5,1,1,5,
     7                 2,2,2,2,2,2,2,2,2,
     8                 3,3,3,3,3,3,3,3,3,
     9                 4,4,1,4,4,1,4,4,1,
    10                 5,5,0,5,5,0,5,5,0,
    11 
    12                 0,0,5,0,0,5,0,0,5,
    13                 1,1,4,1,1,4,1,1,4,
    14                 2,2,2,2,2,2,2,2,2,
    15                 3,3,3,3,3,3,3,3,3,
    16                 4,4,0,4,4,0,4,4,0,
    17                 5,5,1,5,5,1,5,5,1,
    18 
    19                 3,3,3,0,0,0,0,0,0,
    20                 2,2,2,1,1,1,1,1,1,
    21                 0,0,0,2,2,2,2,2,2,
    22                 1,1,1,3,3,3,3,3,3,
    23                 4,4,4,4,4,4,4,4,4,
    24                 5,5,5,5,5,5,5,5,5,
    25 
    26                 2,2,2,0,0,0,0,0,0,
    27                 3,3,3,1,1,1,1,1,1,
    28                 1,1,1,2,2,2,2,2,2,
    29                 0,0,0,3,3,3,3,3,3,
    30                 4,4,4,4,4,4,4,4,4,
    31                 5,5,5,5,5,5,5,5,6
    32                 };
    33 int B[4][6][9]={0,1,2,3,4,5,6,7,8,
    34                 0,1,2,3,4,5,6,7,8,
    35                 0,1,2,3,4,5,6,7,8,
    36                 2,5,8,1,4,7,0,3,6,
    37                 0,1,2,3,4,5,6,7,8,
    38                 0,1,2,3,4,5,6,7,8,
    39 
    40                 0,1,2,3,4,5,6,7,8,
    41                 0,1,2,3,4,5,6,7,8,
    42                 0,1,2,3,4,5,6,7,8,
    43                 6,3,0,7,4,1,8,5,2,
    44                 0,1,2,3,4,5,6,7,8,
    45                 0,1,2,3,4,5,6,7,8,
    46 
    47                 0,1,2,3,4,5,6,7,8,
    48                 0,1,2,3,4,5,6,7,8,
    49                 0,1,2,3,4,5,6,7,8,
    50                 0,1,2,3,4,5,6,7,8,
    51                 2,5,8,1,4,7,0,3,6,
    52                 0,1,2,3,4,5,6,7,8,
    53 
    54                 0,1,2,3,4,5,6,7,8,
    55                 0,1,2,3,4,5,6,7,8,
    56                 0,1,2,3,4,5,6,7,8,
    57                 0,1,2,3,4,5,6,7,8,
    58                 6,3,0,7,4,1,8,5,2,
    59                 0,1,2,3,4,5,6,7,8,
    60                 };
    61 char ch[200];
    62 int len;
    63 int f[200];
    64 int s[6][9],v[6][9];
    65 
    66 int main()
    67 {
    68     scanf("%s",ch);
    69     len=strlen(ch);
    70     for(int i=0;i<len;i++)
    71         f[i]=ch[i]-'0'-1;
    72     for(int i=0;i<6;i++)
    73         for(int j=0;j<3;j++)
    74         {
    75             scanf("%s",ch);
    76             for(int k=0;k<3;k++)
    77                 s[i][j*3+k]=ch[k]-'0';
    78         }
    79     for(int x=0;x<len;x++)
    80     {
    81         memcpy(v,s,sizeof(s));
    82         for(int i=0;i<6;i++)
    83             for(int j=0;j<9;j++)
    84                     v[A[f[x]][i][j]][B[f[x]][i][j]]=s[i][j];
    85         memcpy(s,v,sizeof(v));
    86     }
    87     cout<<endl;
    88     for(int i=0;i<6;i++)
    89     {
    90         for(int j=0;j<3;j++)
    91         {
    92             for(int k=0;k<3;k++)
    93                 cout<<s[i][j*3+k];
    94             cout<<endl;
    95         }
    96     }
    97     return 0;
    98 }
  • 相关阅读:
    鸿蒙的js开发模式19:鸿蒙手机下载python服务器端文件的实现
    【资源下载】Linux下的Hi3861一站式鸿蒙开发烧录(附工具)
    并发编程大扫盲:带你了解何为线程上下文切换
    内存溢出 MAT 排查工具,它真香香香
    面试官问:如何排除GC引起的CPU飙高?我脱口而出5个步骤
    小学妹问我:如何利用可视化工具排查问题?
    你不得不知的6个JDK自带JVM调优工具
    那个小白还没搞懂内存溢出,只能用案例说给他听了
    听说同学你搞不懂Spring Boot集成Mybatis的玩法,田哥来教你
    手把手教你设置JVM调优参数
  • 原文地址:https://www.cnblogs.com/InWILL/p/5994627.html
Copyright © 2011-2022 走看看