UVA 253 Cube painting
大致题意:有三种颜色,一个立方体6面都可以涂一种颜色。现在给出两个每个面都涂好颜色的立方体,判断这两个立方体通过旋转是否相等。
立方体的旋转出来的结果有很多,首先可以0,1,2,3,4,5(顺序是:上前左右后下)中的任意一面为顶,然后垂直的四个面都可以朝前。
例如:0为上(则下必为5),则旋转后可以得到以下结果:
上 前 左 右 后 下
0 1 2 3 4 5
0 2 4 1 3 5
0 4 3 1 2 5
0 3 1 4 2 5
总共4种情况。六个面也就4*6=24种情况。因为数值不大,可以事先进行预处理。
判断两个立方体是否相等的时候,只旋转第二个立方体就够了。
#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std; int main()
{
//freopen("in.txt","r",stdin);
int way[][][]= {,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,};
//进行预处理,直接打出所有情况。
/*for(int i=0;i<6;i++) //输出所有情况
{
for(int j=0;j<4;j++)
{
printf("%d",i);
for(int k=0;k<5;k++)
printf(" %d",way[i][j][k]);
printf("\n");
}
}*/
char s[];
while(~scanf("%s",s))
{
bool flag;
for(int j=; j<; j++)
{
flag=false;
if(s[j]==s[]) //判断首颜色是否相等,不相等直接跳过
for(int k=; k<; k++)
{
for(int m=; m<; m++)
{
if(s[way[][][m]]!=s[way[j-][k][m]+])
break;
if(m==)
flag=true;
}
if(flag)
break;
}
if(flag)
break;
}
if(flag)
printf("TRUE\n");
else
printf("FALSE\n");
}
return ;
}
UVA 253 Cube painting的更多相关文章
- UVA 253 Cube painting(暴力打表)
Cube painting Problem Description: We have a machine for painting cubes. It is supplied with three d ...
- uva 253 - Cube painting(相同骰子)
习题4-4 骰子涂色(Cube painting, UVa 253) 输入两个骰子,判断二者是否等价.每个骰子用6个字母表示,如图4-7所示. 图4-7 骰子涂色 例如rbgggr和rggbgr分别表 ...
- UVA 253 Cube painting(枚举 模拟)
题意: 按如图的顺序给定2个骰子的颜色(只有r.b.g三种颜色) 问2个骰子是否一模一样 如 可表示为“rbgggr” 和 “rggbgr”, 第二个就是绕着Z轴顺时针旋转90度与第一个相同的骰子. ...
- UVa 253 Cube paiting
题意:输入两个骰子,判断是否等价 因为每一个面可以作顶面,共6*4种情况,枚举就可以了 #include<iostream> #include<cstdio> #include ...
- UVA 253 (13.08.06)
Cube painting We have a machine for painting cubes. It is supplied withthree different colors: blu ...
- UVa 253
UVa 253 #include <iostream> #include <cstdio> #include <string> #include <cstri ...
- Cube painting UVA - 253
We have a machine for painting cubes. It is supplied with three different colors: blue, red and gre ...
- 骰子涂色 (Cube painting,UVa 253)
题目描述:算法竞赛入门习题4-4 题目思路:1.旋转其中一个骰子进行匹配 2.进行遍历,如果匹配,就进行相对面的匹配 3.三个对立面都匹配即是一样等价的 //没有按照原题的输入输出 #include ...
- uva253 Cube painting(UVA - 253)
题目大意 输入有三种颜色判断两个骰子是否相同 思路(借鉴) ①先用string输入那12个字符,然后for出两个骰子各自的字符串 ②这里用的算法是先找出第一个的三个面与第二个的六个面去比较,如果找到相 ...
随机推荐
- iOS-----Xcode-Debug尝试
在Xcode中,Debug时,不能像eclipse ,或VS那些集成开发那样,能直接查看变量的值.那怎么在调试的时候查看XCode的变量呢? 有一些方法的. 1.新建一个Single View App ...
- How Google TestsSoftware - Part Five
Instead of distinguishingbetween code, integration and system testing, Google uses the language ofsm ...
- Java EE开发平台随手记4——Mybatis扩展3
接着昨天的Mybatis扩展——IDaoTemplate接口. 扩展9:批量执行 1.明确什么是批量执行 首先说明一下,这里的批量执行不是利用<foreach>标签生成一长串的sql字符串 ...
- Lookup 组件异常
Lookup组件有两个数据源,一个是上流组件的输出,一个是组件lookup的数据源,这个数据源是在Connection选项卡中进行配置.在开发package的过程中,我发现一个异常,当Lookup数据 ...
- KendoUI系列:MultiSelect
1.基本使用 1>.创建Input <link href="@Url.Content("~/Content/kendo/2014.1.318/kendo.common. ...
- JSP开发环境配置问题解答
有过JSP开发经验的同学对于JSP开发环境的配置一定非常的很有感触,十分的繁琐,有时因为一个小的问题导致我们配置的配置前功尽弃,本篇我将重点带领大家一起探讨一下关于JSP环境配置的一些常见问题,及解决 ...
- java生成excel文件
首先下载jexcelapi_2_6_12.tar.gz,解压后将里面的jxl.jar复制到WEB-INF/lib目录下面 String filePath = request.getParameter( ...
- Effeckt.css – CSS3 Transitions & Animations 精妙应用
CSS3 不仅仅用作界面效果补充,还可以用来替换传统的一些界面实现,而且效果更酷.Effeckt.css 收集了众多精妙的 CSS3 Transitions & Animations 效果应用 ...
- Azure Automation (3) 定期将某个Azure订阅下的所有虚拟机开关机
<Windows Azure Platform 系列文章目录> 本文介绍的是国内由世纪互联运维的Azure China. 在笔者之前的文章中,我们介绍了使用Azure Automation ...
- .NET平台下IIS7.5+无后缀名伪静态实现办法
首先新建一个应用程序池,名称任意,比如:nettest,托管管道模式先暂时设置为集成模式,等下面的一系列设置完成之后再设置成经典模式: 部署好站点,并将此站点的应用程序池设置为nettest; 选中站 ...