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出两个骰子各自的字符串 ②这里用的算法是先找出第一个的三个面与第二个的六个面去比较,如果找到相 ...
随机推荐
- Atitit 图像清晰度 模糊度 检测 识别 评价算法 源码实现attilax总结
Atitit 图像清晰度 模糊度 检测 识别 评价算法 源码实现attilax总结 1.1. 原理,主要使用像素模糊后的差别会变小1 1.2. 具体流程1 1.3. 提升性能 可以使用采样法即可..1 ...
- Redis 监控
redis 监控有 redis-live 和 redis-stat Redis-Live是一个用来监控redis实例,分析查询语句并且有web界面的监控工具,使用python编写. redis-sta ...
- vuejs - the component is a fragment instance
vuejs - the component is a fragment instance http://vuejs.org/guide/components.html#Fragment-Instanc ...
- VS报错:_CRT_SECURE_NO_WARNINGS
常见报错:warning C4996: 'fopen': This function or variable may be unsafe. Consider using fopen_s instead ...
- SSIS Component的ValidateExternalMetadata属性
ValidateExternalMetadata Property Indicates whether the component validates its column metadata agai ...
- 自动生成Mapper和Entity工具MybatisGenerator的使用
新建一个XML文件crmGeneratorConfig.xml,文件具体内容如下.把MybatisGenerator.zip解压出来,把MybatisGenerator文件夹复制到Eclipse安装目 ...
- CSS默认可继承样式
前面的话 一直想总结出一份可继承样式的列表.常听说,颜色和字体是可继承的,盒模型样式是不可继承的,但其他样式呢?本文内容包括所有可继承的样式 [注意]关于样式的详细信息移步至此 常用可继承样式 col ...
- 使用ExifInterface设置Datetime发生的问题
最近在弄一个Android小程序,需要把图像的生成时间设置到Exif的Datetime,用ExifInterface.setAttribute(ExifInterface.TAG_DATETIME,& ...
- Gephi可视化(二)——Gephi Toolkit叫板Prefuse
继在园子里写的<Gephi可视化(一)——使用Gephi Toolkit创建Gephi应用>介绍了如何使用Gephi Toolkit工具集进行可视化编程后,本篇对Gephi Toolkit ...
- 各种排序学习归纳总结(Java)
排序总结 根据<数据结构与算法分析——Java语言描述><INTRODUCTION TO JAVA PROGRAMMING>.维基及各技术博客知识点来总结的. 如果刚入门学习 ...