ZJNU 1196 - 三阶魔方【模拟题】——高级
大模拟,空想很容易把面和面之间的关系搞混
所以这时候需要自己找一个正方体(实在不行长方体代替)跟着图把每个面正方向标出来
然后模拟6种操作分别会对哪些块进行操作
对于储存数据的想法是,对输入输出进行分块,以c[i][j]表示是第i个面的第j块
具体参照下文输入输出内的
for(i=;i<;i++)
for(j=;j<;j++){
scanf("%s",cd);
c[j/][j%+i*]=cd[];
}
与
for(i=;i<;i++)
for(j=;j<;j++)
printf("%c%c",c[j/][j%+i*],j<?' ':'\n');
#include<stdio.h>
#include<string.h>
char c[][],tmp[];
int getid(char c){
switch(c){
case 'W':return ;
case 'O':return ;
case 'R':return ;
case 'B':return ;
case 'G':return ;
case 'Y':return ;
}
}
void change(char cc){
char d1,d2,d3;
if(cc=='W'){//以O面为缓存面
d1=c[][];
d2=c[][];
d3=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=d1;
c[][]=d2;
c[][]=d3;
}
else if(cc=='O'){//以W面为缓存面
d1=c[][];
d2=c[][];
d3=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=d1;
c[][]=d2;
c[][]=d3;
}
else if(cc=='R'){//以O面为缓存面
d1=c[][];
d2=c[][];
d3=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=d1;
c[][]=d2;
c[][]=d3;
}
else if(cc=='B'){//以G面为缓存面
d1=c[][];
d2=c[][];
d3=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=d1;
c[][]=d2;
c[][]=d3;
}
else if(cc=='G'){//以B面为缓存面
d1=c[][];
d2=c[][];
d3=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=d1;
c[][]=d2;
c[][]=d3;
}
else if(cc=='Y'){//以G面为缓存面
d1=c[][];
d2=c[][];
d3=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=c[][];
c[][]=d1;
c[][]=d2;
c[][]=d3;
}
int id=getid(cc);
d1=c[id][];
c[id][]=c[id][];
c[id][]=c[id][];
c[id][]=c[id][];
c[id][]=d1;
d1=c[id][];
c[id][]=c[id][];
c[id][]=c[id][];
c[id][]=c[id][];
c[id][]=d1;
}
int main(){
char cd[];
int i,j,len;
for(i=;i<;i++)
for(j=;j<;j++){
scanf("%s",cd);
c[j/][j%+i*]=cd[];
}
scanf("%s",tmp);
len=strlen(tmp);
for(i=;i<len;i++)
change(tmp[i]);
for(i=;i<;i++)
for(j=;j<;j++)
printf("%c%c",c[j/][j%+i*],j<?' ':'\n'); return ;
}
ZJNU 1196 - 三阶魔方【模拟题】——高级的更多相关文章
- 【ACM】魔方十一题
0. 前言打了两年的百度之星,都没进决赛.我最大的感受就是还是太弱,总结起来就是:人弱就要多做题,人傻就要多做题.题目还是按照分类做可能效果比较好,因此,就有了做几个系列的计划.这是系列中的第一个,解 ...
- NOIP模拟赛 高级打字机
[题目描述] 早苗入手了最新的高级打字机.最新款自然有着与以往不同的功能,那就是它具备撤销功能,厉害吧. 请为这种高级打字机设计一个程序,支持如下3种操作: 1.T x:在文章末尾打下一个小写字母x. ...
- poj 1008:Maya Calendar(模拟题,玛雅日历转换)
Maya Calendar Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 64795 Accepted: 19978 D ...
- poj 1888 Crossword Answers 模拟题
Crossword Answers Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 869 Accepted: 405 D ...
- CodeForces - 427B (模拟题)
Prison Transfer Time Limit: 1000MS Memory Limit: 262144KB 64bit IO Format: %I64d & %I64u Sub ...
- sdut 2162:The Android University ACM Team Selection Contest(第二届山东省省赛原题,模拟题)
The Android University ACM Team Selection Contest Time Limit: 1000ms Memory limit: 65536K 有疑问?点这里 ...
- 全国信息学奥林匹克联赛 ( NOIP2014) 复赛 模拟题 Day1 长乐一中
题目名称 正确答案 序列问题 长途旅行 英文名称 answer sequence travel 输入文件名 answer.in sequence.in travel.in 输出文件名 answer. ...
- UVALive 4222 Dance 模拟题
Dance 题目连接: https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&pag ...
- cdoj 25 点球大战(penalty) 模拟题
点球大战(penalty) Time Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.uestc.edu.cn/#/problem/show/2 ...
随机推荐
- 吴裕雄 Bootstrap 前端框架开发——Bootstrap 字体图标(Glyphicons):glyphicon glyphicon-picture
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- MyBatis从入门到精通(第3章):MyBatis注解方式的基本使用
MyBatis 注解方式就是将 SQL 语句直接写在DAO层的接口上. 在黑马录制的2018年双元视频课:\08 SSM整合案例[企业权限管理系统]\07.订单操作 有使用MyBatis注解进行多表 ...
- 第八篇Django分页
Django分页 1.复杂版 data = [] , ): tmp = {"id": i, "name": "alex-{}".format ...
- (六--二)scrapy框架之持久化操作
scrapy框架之持久化操作 基于终端指令的持久化存储 基于管道的持久化存储 1 基于终端指令的持久化存储 保证爬虫文件的parse方法中有可迭代类型对象(通常为列表or字典)的返回,该返回值可以通过 ...
- Cheat Engine 入门操作
Cheat Engine(简称CE,中文名-作弊引擎),用于查找.修改内存数据,是游戏逆向的基础工具. 本文仅介绍基础操作. 1.打开进程 运行游戏程序,并将CE附加到进程 2.寻找数据地址,并修改数 ...
- HDU 5480:Conturbatio 前缀和
Conturbatio Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others) Tota ...
- multi-layer perceptrons, MLP)模型,CvANN_MLP。
#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <ope ...
- Egret Engine 2D - 显示容器
DisplayObjectContainer 所有容器的父类 1 添加 删除 子对象 2 访问子对象 3 检测子对象 4 设置叠放次序 Sprite 继承自DisplayObjectContain ...
- 2. react 简书 头部 (header) 样式编写
1. 在 src 下 创建 common 文件下 创建 header 文件夹下 创建 index.js #src/common/header/index.js import React, {Compo ...
- mysql锁探究和实验
如何保证数据并发访问的一致性.有效性是所有数据库必须解决的一个问题,锁冲突也是影响数据库并发访问性能的一个重要因素.从这个角度来说,锁对数据库而言显得尤其重要,也更加复杂. 表锁和行锁 mysql最显 ...