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 ;
}

洛谷——P2007 魔方的更多相关文章

  1. AC日记——魔方 洛谷 P2007

    魔方 思路: 模拟: 代码: #include <cstdio> #include <cstring> #include <iostream> #include & ...

  2. P2007 魔方

    洛谷——P2007 魔方 题目背景 常神牛从来没接触过魔方,所以他要借助计算机来玩.即使是这样,他还是很菜. 题目描述 常神牛家的魔方都是3*3*3的三阶魔方,大家都见过. (更正:3 4以图为准.) ...

  3. [洛谷P2730] 魔板 Magic Squares

    洛谷题目链接:魔板 题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 题目描述 我们知道魔板的每一个方格都 ...

  4. 洛谷1640 bzoj1854游戏 匈牙利就是又短又快

    bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...

  5. 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.

    没有上司的舞会  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...

  6. 洛谷P1108 低价购买[DP | LIS方案数]

    题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...

  7. 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP

    题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...

  8. 洛谷P1710 地铁涨价

    P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交  讨论  题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...

  9. 洛谷P1371 NOI元丹

    P1371 NOI元丹 71通过 394提交 题目提供者洛谷OnlineJudge 标签云端评测 难度普及/提高- 提交  讨论  题解 最新讨论 我觉得不需要讨论O long long 不够 没有取 ...

随机推荐

  1. JQuery 日期选择框

    一    jeDate日期控件,关于官方的文档请查看: http://www.jayui.com/jedate/ 1 引入js文件 <script type="text/javascr ...

  2. Java 高级数据结构 —— Properties

    1. Properties Properties 是 Java 的内置实现: public class Properties extends Hashtable<Object,Object> ...

  3. python-----获取ip的两种方法

    方法一: 通常使用socket.gethostbyname()方法即可获取本机IP地址,但有时候获取不到(比如没有正确设置主机名称),示例代码如下: import socket # 获取本机计算机名称 ...

  4. SYSUCPC2017 DAG最多能添加多少边?

    校赛的一道题目 难度不大 不过还是挺有趣的 题意:给定一个有向图,问此图是不是一个DAG且不包含重边 如果是的话 回答最多可以添加多少条边且图仍然是个DAG 考虑对于任意一个点u 添加一条边(u,v) ...

  5. bzoj 1231: [Usaco2008 Nov]mixup2 混乱的奶牛【状压dp】

    设f[i][j]为奶牛选取状态为i,最后一头选的为j,转移直接f[k][(1<<(k-1)|i]+=f[j][i] #include<iostream> #include< ...

  6. 解方程 2014NOIP提高组 (数学)

    解方程  时间限制: 1 s  空间限制: 128000 KB  题目等级 : 钻石 Diamond       题目描述 Description 输入描述 Input Description 输入文 ...

  7. P2600 [ZJOI2008]瞭望塔

    传送门 暴力也行,退火也行,不是很明白为啥还要用半平面交-- 总之就是把原来的所有限制看成一堆半平面 根据黄学长的博客塔肯定建在转折处最优 //minamoto #include<bits/st ...

  8. SP2916 GSS5 - Can you answer these queries V

    给定一个序列.查询左端点在$[x_1, y_1]$之间,且右端点在$[x_2, y_2]$之间的最大子段和,数据保证$x_1\leq x_2,y_1\leq y_2$,但是不保证端点所在的区间不重合 ...

  9. HDU 5514 欧拉函数应用

    前置技能: <=i且与i互质的数的和是phi(i)*i/2 思路: 显然每个人的步数是gcd(a[i],m) 把m的所有因数预处理出来 1~m-1中的每个数 只会被gcd(m,i)筛掉一遍 // ...

  10. ACM_下一个排列

    The Next Permutation Time Limit: 2000/1000ms (Java/Others) Problem Description: For this problem, yo ...