P2007 魔方

常神牛家的魔方都是3*3*3的三阶魔方,大家都见过。

模拟即可:

#include<iostream>
#include<cstdio>
#include<cstdlib>
#include<algorithm>
#include<cstring> using namespace std; string s;
int a[][][];
// 1 2 3 4 5 6
//前、后、左、右、上、下。 void cz1() {
int x=a[][][],y=a[][][],z=a[][][];
for(int i=; i<=; i++) a[][i][]=a[][i][];
for(int i=; i<=; i++) a[][i][]=a[][i][];
for(int i=; i<=; i++) a[][i][]=a[][i][];
a[][][]=x,a[][][]=y,a[][][]=z; int p[][];
for(int i=; i<=; i++) {
for(int j=; j<=; j++) {
p[i][j]=a[][-j+][i];
}
}
for(int i=; i<=; i++)
for(int j=; j<=; j++)
a[][i][j]=p[i][j];
} void cz2() {
int x=a[][][],y=a[][][],z=a[][][];
for(int i=; i<=; i++) a[][i][]=a[][i][];
for(int i=; i<=; i++) a[][i][]=a[][i][];
for(int i=; i<=; i++) a[][i][]=a[][i][];
a[][][]=x,a[][][]=y,a[][][]=z; int p[][];
for(int i=; i<=; i++) {
for(int j=; j<=; j++) {
p[i][j]=a[][j][-i+];
}
}
for(int i=; i<=; i++)
for(int j=; j<=; j++)
a[][i][j]=p[i][j];
} void cz3(){
int x=a[][][],y=a[][][],z=a[][][];
for(int i=; i<=; i++) a[][][i]=a[][][i];
for(int i=; i<=; i++) a[][][i]=a[][][i];
for(int i=; i<=; i++) a[][][i]=a[][][i];
a[][][]=x,a[][][]=y,a[][][]=z; int p[][];
for(int i=; i<=; i++) {
for(int j=; j<=; j++) {
p[i][j]=a[][-j+][i];
}
}
for(int i=; i<=; i++)
for(int j=; j<=; j++)
a[][i][j]=p[i][j];
} void cz4(){
int x=a[][][],y=a[][][],z=a[][][];
for(int i=; i<=; i++) a[][][i]=a[][][i];
for(int i=; i<=; i++) a[][][i]=a[][][i];
for(int i=; i<=; i++) a[][][i]=a[][][i];
a[][][]=x,a[][][]=y,a[][][]=z; int p[][];
for(int i=; i<=; i++) {
for(int j=; j<=; j++) {
p[i][j]=a[][j][-i+];
}
}
for(int i=; i<=; i++)
for(int j=; j<=; j++)
a[][i][j]=p[i][j];
} void print()
{
puts("xxxxxxxxxxxxxxxxxxxxxxx\n");
for(int i=; i<=; i++) {
for(int j=; j<=; j++) {
for(int k=; k<=; k++) {
printf("%d",a[i][j][k]);
}
puts("");
}
}
} int main() {
cin>>s;
for(int i=; i<=; i++) {
for(int j=; j<=; j++) {
for(int k=; k<=; k++)
scanf("%1d",&a[i][j][k]);
}
} int l=s.length();
for(int i=; i<l; i++) {
if(s[i]=='') cz1();
else if(s[i]=='') cz2();
else if(s[i]=='') cz3();
else cz4();
// print();
} for(int i=; i<=; i++) {
for(int j=; j<=; j++) {
for(int k=; k<=; k++) {
printf("%d",a[i][j][k]);
}
puts("");
}
}
return ;
}

最新文章

  1. EntityFramework、Dapper vs 草根框架性能大比拼,数据库访问哪家强?
  2. MSSQL数据库链接字符串Asynchronous Processing=true不是异步查询吗,怎么是缓存
  3. vue 一些开发姿势
  4. MySQL的分页
  5. 怎样使用Photoshop CS5的操控变形功能
  6. Python命名规范
  7. IE如何兼容placeholder属性
  8. Eclipse安装ADT插件
  9. stringstream函数(i o)
  10. php mysql_insert_id() 获取为空
  11. Mongodb PHP开发类库
  12. spring-cloud-config-server——Environment Repository(Git Backend)
  13. 理解使用static import 机制
  14. python中的print函数
  15. 实训三(cocos2dx 3.x 打包apk)
  16. 20165302 敏捷开发与XP实践作业
  17. GO_10:GO语言基础之error
  18. SSM(SpringMVC+Spring+Mybatis)框架学习理解
  19. java 多线程 day15 CyclicBarrier 路障
  20. BZOJ 2120 数颜色 【带修改莫队】

热门文章

  1. Python执行系统命令并获得输出的几种方法
  2. SpringMVC_2
  3. golang中管道热替换
  4. bzoj题目大体分类
  5. webpack+vue-cli中proxyTable配置接口地址代理详细解释
  6. 洛谷 P2142 高精度减法(模板)
  7. 用Google Cloud Platform搭建***服务教程
  8. 莫队算法 BOJ 2038 [2009国家集训队]小Z的袜子(hose)
  9. Java 8 (3) Stream 流 - 简介
  10. linux下jdk与tomcat的安装与配置