AC日记——魔方 洛谷 P2007
魔方
思路:
模拟;
代码:
#include <cstdio> #include <cstring> #include <iostream> #include <algorithm>using namespace std;struct MFType {int ai[4][4]; }; struct MFType ci[7];int len;char done[500],ch[10];/*1.front 2.back 3.left 4.right 5.top 6.under*/void OperationType_right_turning90() {MFType *now=&ci[4],tmp=ci[4];now->ai[1][1]=tmp.ai[3][1];now->ai[1][2]=tmp.ai[2][1];now->ai[1][3]=tmp.ai[1][1];now->ai[2][1]=tmp.ai[3][2];now->ai[2][3]=tmp.ai[1][2];now->ai[3][1]=tmp.ai[3][3];now->ai[3][2]=tmp.ai[2][3];now->ai[3][3]=tmp.ai[1][3];now=&ci[1],tmp=ci[1];MFType *pos=&ci[6];now->ai[1][3]=pos->ai[1][3];now->ai[2][3]=pos->ai[2][3];now->ai[3][3]=pos->ai[3][3];now=&ci[6],pos=&ci[2];now->ai[1][3]=pos->ai[1][3];now->ai[2][3]=pos->ai[2][3];now->ai[3][3]=pos->ai[3][3];now=&ci[2],pos=&ci[5];now->ai[1][3]=pos->ai[1][3];now->ai[2][3]=pos->ai[2][3];now->ai[3][3]=pos->ai[3][3];now=&ci[5],pos=&tmp;now->ai[1][3]=pos->ai[1][3];now->ai[2][3]=pos->ai[2][3];now->ai[3][3]=pos->ai[3][3]; }void OperationType_right_turningback90() {MFType *now=&ci[4],tmp=ci[4];now->ai[1][1]=tmp.ai[1][3];now->ai[1][2]=tmp.ai[2][3];now->ai[1][3]=tmp.ai[3][3];now->ai[2][1]=tmp.ai[1][2];now->ai[2][3]=tmp.ai[3][2];now->ai[3][1]=tmp.ai[1][1];now->ai[3][2]=tmp.ai[2][1];now->ai[3][3]=tmp.ai[3][1];now=&ci[1],tmp=ci[1];MFType *pos=&ci[5];now->ai[1][3]=pos->ai[1][3];now->ai[2][3]=pos->ai[2][3];now->ai[3][3]=pos->ai[3][3];now=&ci[5],pos=&ci[2];now->ai[1][3]=pos->ai[1][3];now->ai[2][3]=pos->ai[2][3];now->ai[3][3]=pos->ai[3][3];now=&ci[2],pos=&ci[6];now->ai[1][3]=pos->ai[1][3];now->ai[2][3]=pos->ai[2][3];now->ai[3][3]=pos->ai[3][3];now=&ci[6],pos=&tmp;now->ai[1][3]=pos->ai[1][3];now->ai[2][3]=pos->ai[2][3];now->ai[3][3]=pos->ai[3][3]; }void OperationType_top_turning90() {MFType *now=&ci[5],tmp=ci[5];now->ai[1][1]=tmp.ai[3][1];now->ai[1][2]=tmp.ai[2][1];now->ai[1][3]=tmp.ai[1][1];now->ai[2][1]=tmp.ai[3][2];now->ai[2][3]=tmp.ai[1][2];now->ai[3][1]=tmp.ai[3][3];now->ai[3][2]=tmp.ai[2][3];now->ai[3][3]=tmp.ai[1][3];now=&ci[1],tmp=ci[1];MFType *pos=&ci[3];now->ai[1][1]=pos->ai[1][1];now->ai[1][2]=pos->ai[1][2];now->ai[1][3]=pos->ai[1][3];now=&ci[3],pos=&ci[2];now->ai[1][1]=pos->ai[1][1];now->ai[1][2]=pos->ai[1][2];now->ai[1][3]=pos->ai[1][3];now=&ci[2],pos=&ci[4];now->ai[1][1]=pos->ai[1][1];now->ai[1][2]=pos->ai[1][2];now->ai[1][3]=pos->ai[1][3];now=&ci[4],pos=&tmp;now->ai[1][1]=pos->ai[1][1];now->ai[1][2]=pos->ai[1][2];now->ai[1][3]=pos->ai[1][3]; }void OperationType_top_turningback90() {MFType *now=&ci[5],tmp=ci[5];now->ai[1][1]=tmp.ai[1][3];now->ai[1][2]=tmp.ai[2][3];now->ai[1][3]=tmp.ai[3][3];now->ai[2][1]=tmp.ai[1][2];now->ai[2][3]=tmp.ai[3][2];now->ai[3][1]=tmp.ai[1][1];now->ai[3][2]=tmp.ai[2][1];now->ai[3][3]=tmp.ai[3][1];now=&ci[1],tmp=ci[1];MFType *pos=&ci[4];now->ai[1][1]=pos->ai[1][1];now->ai[1][2]=pos->ai[1][2];now->ai[1][3]=pos->ai[1][3];now=&ci[4],pos=&ci[2];now->ai[1][1]=pos->ai[1][1];now->ai[1][2]=pos->ai[1][2];now->ai[1][3]=pos->ai[1][3];now=&ci[2],pos=&ci[3];now->ai[1][1]=pos->ai[1][1];now->ai[1][2]=pos->ai[1][2];now->ai[1][3]=pos->ai[1][3];now=&ci[3],pos=&tmp;now->ai[1][1]=pos->ai[1][1];now->ai[1][2]=pos->ai[1][2];now->ai[1][3]=pos->ai[1][3]; }void debug() {printf("\n");for(int i=1;i<=6;i++){printf("%d\n",i);for(int j=1;j<=3;j++){for(int v=1;v<=3;v++) printf("%d",ci[i].ai[j][v]);printf("\n");}printf("\n");}printf("\n"); }int main() {freopen("cube.in","r",stdin);freopen("cube.out","w",stdout);scanf("%s",done),len=strlen(done);for(int i=1;i<=6;i++){for(int j=1;j<=3;j++){scanf("%s",ch);for(int v=1;v<=3;v++) ci[i].ai[j][v]=ch[v-1]-'0';}} // debug();for(int i=0;i<len;i++){if(done[i]=='1') OperationType_right_turning90();else if(done[i]=='2') OperationType_right_turningback90();else if(done[i]=='3') OperationType_top_turning90();else if(done[i]=='4') OperationType_top_turningback90(); // debug(); }for(int i=1;i<=6;i++){for(int j=1;j<=3;j++){for(int v=1;v<=3;v++) printf("%d",ci[i].ai[j][v]);printf("\n");}}return 0; }
转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/6912748.html
AC日记——魔方 洛谷 P2007相关推荐
- AC日记——传染病控制 洛谷 P1041
传染病控制 思路: 题目想问的是: 有一棵树: 对于除1外每个深度可以剪掉一棵子树: 问最后剩下多少节点: 题目意思一简单,这个题立马就变水了: 搜索就能ac: 数据有为链的情况,按深度为层次搜索的话 ...
- AC日记——中位数 洛谷 P1168
题目描述 给出一个长度为N的非负整数序列A[i],对于所有1 ≤ k ≤ (N + 1) / 2,输出A[1], A[2], -, A[2k - 1]的中位数.[color=red]即[/color] ...
- AC日记——独木桥 洛谷 p1007
题目背景 战争已经进入到紧要时间.你是运输小队长,正在率领运输部队向前线运送物资.运输任务像做题一样的无聊.你希望找些刺激,于是命令你的士兵们到前方的一座独木桥上欣赏风景,而你留在桥下欣赏士兵们.士兵 ...
- AC日记——潜伏者 洛谷 P1071 (模拟)
题目描述 R 国和 S 国正陷入战火之中,双方都互派间谍,潜入对方内部,伺机行动.历尽艰险后,潜伏于 S 国的 R 国间谍小 C 终于摸清了 S 国军用密码的编码规则: 1. S 国军方内部欲发送的原 ...
- [AC自动机][dfs] 洛谷 P2444 病毒
题目描述 二进制病毒审查委员会最近发现了如下的规律:某些确定的二进制串是病毒的代码.如果某段代码中不存在任何一段病毒代码,那么我们就称这段代码是安全的.现在委员会已经找出了所有的病毒代码段,试问,是否 ...
- 洛谷-DFS-1101-单词方阵-个人AC题解及公共题解的笔记
先上自己AC代码(博主这个代码修改过多次,只因代码长度过长) #include<bits/stdc++.h> using namespace std; #define MAXN 102 i ...
- 洛谷P1914题解——(本地测试AC但是交题爆零全WA)使用getchar();
本题最大的坑在于: windows环境下的换行符为\r\n,linux环境的换行符为\n. 我们再来看看洛谷的部分OJ判题机数据和机制 常见"我在本地/xxOJ AC了.洛谷却不过" ...
- 【洛谷P2615】神奇的幻方
作者:letianJOE 题目链接 目录 题目描述 输入格式 输出格式 样例#1 样例输入 #1 样例输出 #1 样例#2 样例输入 #2 样例输出 #2(需要用宽屏来看) 提示 题目思路 样例模拟 ...
- 洛谷-DFS-1019-单词接龙-个人AC题解和公共AC题解笔记
学习内容: 预处理 万能头文件 string的使用 话不多说,直奔主题 本人AC代码 #include<iostream> #include<cstdio> #include& ...
最新文章
- python 流程控制语句
- Juniper EX3400堆叠配置 + 链路捆绑配置
- Activiti 6.x【11】IntermediateEvent
- js -- 移动端pc端自动切换
- DB-Engines 9月数据库排名:ClickHouse一路猛冲,Redis坐稳第7
- 信息学奥赛一本通(1260:【例9.4】拦截导弹(Noip1999))
- nfc修改饭卡软件下载_你还要什么校园卡?有NFC不就够了
- 分享两个必应壁纸接口,可用来获取高质量壁纸和故事
- 77GHz毫米波雷达快速chirp信号技术(二):测速原理
- 从SVN下载项目到本地的eclipse 工作空间
- 点云应用——三维空间边界点排序+机器人轨迹引导(1)
- 麦克风的计算机英语词汇,[转帖]麦克风计划:神舟五号载人飞船词汇
- 国外最流行的几个外包接活网站 简要介绍
- excel组合汇总_Excel汇总20150105
- 森宇文化全授权代理《彩虹护卫队》亮相戛纳开启动漫全产业链布局
- Java监听器的处理方法_Java监听器的简单使用
- 【HIVE数据倾斜常见解决办法】
- 零基础快速上手CANoe
- fireworks怎么保存html切片,fireworks怎样准备切片来导出
- Windows找不到javaw
热门文章
- SpringBoot+MyBatisPlus+Swagger2.7规范开发接口流程(以废料包材入库与出库为例)
- Thymeleaf中使用if和unless实现状态的判断显示达到if-else逻辑判断的效果
- 一行Java代码实现获取上传文件的后缀名
- Webstorm出现NoGitBinary时配置Git环境变量
- IBM Rational上海大会印象
- 公告牌为什么有些是纸质,有些是电子的
- 自然科学 计算机,计算机科学与自然科学技术的关系
- JAVA继承类phone_JAVA(9)继承与多态
- 2022 年营销自动化七大趋势前瞻
- 一位 CEO 在战略沟通会上的员工问答实录