洛谷——P2007 魔方
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 魔方的更多相关文章
- AC日记——魔方 洛谷 P2007
魔方 思路: 模拟: 代码: #include <cstdio> #include <cstring> #include <iostream> #include & ...
- P2007 魔方
洛谷——P2007 魔方 题目背景 常神牛从来没接触过魔方,所以他要借助计算机来玩.即使是这样,他还是很菜. 题目描述 常神牛家的魔方都是3*3*3的三阶魔方,大家都见过. (更正:3 4以图为准.) ...
- [洛谷P2730] 魔板 Magic Squares
洛谷题目链接:魔板 题目背景 在成功地发明了魔方之后,鲁比克先生发明了它的二维版本,称作魔板.这是一张有8个大小相同的格子的魔板: 1 2 3 4 8 7 6 5 题目描述 我们知道魔板的每一个方格都 ...
- 洛谷1640 bzoj1854游戏 匈牙利就是又短又快
bzoj炸了,靠离线版题目做了两道(过过样例什么的还是轻松的)但是交不了,正巧洛谷有个"大牛分站",就转回洛谷做题了 水题先行,一道傻逼匈牙利 其实本来的思路是搜索然后发现写出来类 ...
- 洛谷P1352 codevs1380 没有上司的舞会——S.B.S.
没有上司的舞会 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 钻石 Diamond 题目描述 Description Ural大学有N个职员,编号为1~N.他们有 ...
- 洛谷P1108 低价购买[DP | LIS方案数]
题目描述 “低价购买”这条建议是在奶牛股票市场取得成功的一半规则.要想被认为是伟大的投资者,你必须遵循以下的问题建议:“低价购买:再低价购买”.每次你购买一支股票,你必须用低于你上次购买它的价格购买它 ...
- 洛谷 P2701 [USACO5.3]巨大的牛棚Big Barn Label:二维数组前缀和 你够了 这次我用DP
题目背景 (USACO 5.3.4) 题目描述 农夫约翰想要在他的正方形农场上建造一座正方形大牛棚.他讨厌在他的农场中砍树,想找一个能够让他在空旷无树的地方修建牛棚的地方.我们假定,他的农场划分成 N ...
- 洛谷P1710 地铁涨价
P1710 地铁涨价 51通过 339提交 题目提供者洛谷OnlineJudge 标签O2优化云端评测2 难度提高+/省选- 提交 讨论 题解 最新讨论 求教:为什么只有40分 数组大小一定要开够 ...
- 洛谷P1371 NOI元丹
P1371 NOI元丹 71通过 394提交 题目提供者洛谷OnlineJudge 标签云端评测 难度普及/提高- 提交 讨论 题解 最新讨论 我觉得不需要讨论O long long 不够 没有取 ...
随机推荐
- redis Database Eviction Policies Redis on Flash
Database Eviction Policies - Redis Enterprise Software | Redis Labs https://redislabs.com/redis-ente ...
- python 变量作用域 v.__sizeof__() python 深复制 一切皆对象 尽量减少内存消耗
python 深入理解 赋值.引用.拷贝.作用域 - 江召伟 - 博客园 https://www.cnblogs.com/jiangzhaowei/p/5740913.html a=[1,2,5]b= ...
- 怎么在当前的view上获取所在的控制器(UIViewController),实现跳转
- (UIViewController *)viewController { for (UIView* next = [self superview]; next; next = next.super ...
- P1196 [NOI2002]银河英雄传说(并查集)
P1196 [NOI2002]银河英雄传说(并查集) 本题关键 用两个一维数组表示了一个稀疏的二维数组. 这两个一维数组一个表示祖先(就是最前面那个),一个表示距离祖先的距离. 并且还有一个关键点是, ...
- 最长回文子串问题 O(n)算法 manacher URAL1297 HDU3068
先来看一道简单的题,ural1297 给定一个1000长度的字符串,求最长回文子串. 看起来很Naive,乱搞一下,O(n^2)都可以解决. 再来看这个题 HDU3068 120个110000长度的字 ...
- Linux学习系列八:操作网口
一些相对高性能的单片机会带以太网接口,网口在MCU里算是比较复杂的外设了,因为它涉及到网络协议栈,通常情况下网络协议栈会运行在一个RTOS中,所以对普通单片机开发者来说网口使用起来相对难度较大一些.在 ...
- 洛谷 P3378 【模板】堆(小根堆)
题目描述 如题,初始小根堆为空,我们需要支持以下3种操作: 操作1: 1 x 表示将x插入到堆中 操作2: 2 输出该小根堆内的最小数 操作3: 3 删除该小根堆内的最小数 输入输出格式 输入格式: ...
- webview页面间的通信问题
前提 记一次多页面开发. 开发需求时会对页面刷新(reload),返回到上一页(用户返回 / history.go()) 页面间的通信 sessionStorage保存本次会话的信息,同步到新页面或上 ...
- opencv3.3+vs2015调用笔记本摄像头成功
先上代码 成功图片如下: #include <opencv2/highgui/highgui.hpp> #include <opencv2/imgproc/imgproc.hpp&g ...
- oracle插入字符串数据时,字符串中有'单引号
使用insert into(field1,field2...) values('val1','val2'...)时,若值中有单引号时会报错. 处理方法:判断一下val1,val2中是否含有单引号,若含 ...