博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AC日记——魔方 洛谷 P2007
阅读量:4975 次
发布时间:2019-06-12

本文共 4228 字,大约阅读时间需要 14 分钟。

 

思路:

  模拟;

 

代码:

#include 
#include
#include
#include
using namespace std;struct MFType { int ai[4][4];};struct MFType ci[7];int len;char done[500],ch[10];/*1.front2.back3.left4.right5.top6.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

 

转载于:https://www.cnblogs.com/IUUUUUUUskyyy/p/6912748.html

你可能感兴趣的文章
ps -C
查看>>
做好单元测试需要保证的三个独立
查看>>
JavaScript小例子4
查看>>
会话管理-0.2.Session和Cookie的区别
查看>>
中文乱码 encodeURI来解决URL传递时的中文问题
查看>>
比数字工具更好用的纸和笔
查看>>
【转载】SQL INSERT INTO SELECT 语句
查看>>
Umbraco中的权限体系结构
查看>>
hdu 1312
查看>>
UVa 624
查看>>
c#入门经典笔记第六章
查看>>
datalist 分页
查看>>
M25-14
查看>>
.NET 通过 NPOI 操作 Excel
查看>>
Delphi XE2 之 FireMonkey 入门(3) - 关于 TPosition
查看>>
Eclipse快捷键功能
查看>>
编译器错误消息: CS0016: 未能写入输出文件“c:/Windows/Microsoft.NET/Framework/v2.0.50727/....dll”--“拒绝访问。...
查看>>
UBuntu CMake使用示例
查看>>
Shell记录-Shell脚本基础(二)
查看>>
PHP 数组函数-数组排序
查看>>