很简单的一道题,我采用的是暴力模拟法。
可惜过程中出现了诸如数组越界,指针误用的细节错误

代码略乱,日后再改。

#include <cstdio>
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int FACES = 6;
const int link[6][6] = { {0, 1, 2, 3, 4, 5}, {1, 5, 2, 0, 4, 3}, {2, 1, 5, 3, 0, 4},
{3, 0, 2, 5, 4, 1}, {4, 1, 0, 3, 5 ,2 }, {5, 1, 4, 3, 2, 0} };char s[(FACES<<1) + 2];
char a[FACES+2];
char b[FACES+2];
char cude[FACES][(FACES<<1)+2];void _divide()
{int i;for (i = 0; i < 6 ; i++) a[i] = s[i];for (i = 6; i < 12; i++) b[i-6] = s[i];swap(a[3], a[4]);swap(b[3], b[4]);a[6] = b[6] = '\0';
}void _deal()
{for (int i = 0; i < 6; i++)for (int j = 0; j < 6; j++) cude[i][j] = b[link[i][j]];
}int mystrstr(const char str[],const char a[])
{bool mark;for (int i = 0; i < 4; i++){mark = true;for (int j = 0; j < 4; j++){if (str[i+j] != a[j]){mark = false;break;}}if (mark) return true;}return false;
}
bool is_ided(const char cude[])
{char str[9];memset(str, 0, sizeof(str));for (int i = 0; i < 4; i++) str[i] = cude[i];for (int i = 4; i < 8; i++) str[i] = str[i-4];str[8] = '\0';if (mystrstr(str, a+1)) return true;return false;
}
bool _check()
{for (int i = 0; i < 6; i++){if (cude[i][0] == a[0] && cude[i][5] == a[5] && is_ided(cude[i]+1)) return true;}return false;
}
int main()
{while (scanf("%s",s) != EOF){_divide(); _deal();                    printf("%s\n", (_check() ) ? "TRUE" : "FALSE");}return 0;
}

ACM篇:Uva -- 253 Cude Painting相关推荐

  1. UVA 253 Cube painting

    大致题意:有三种颜色,一个立方体6面都可以涂一种颜色.现在给出两个每个面都涂好颜色的立方体,判断这两个立方体通过旋转是否相等. 立方体的旋转出来的结果有很多,首先可以0,1,2,3,4,5(顺序是:上 ...

  2. 【OpenCV 例程 300篇】253. 多帧图像(动图)的读取与保存

    『youcans 的 OpenCV 例程300篇 - 总目录』 [youcans 的 OpenCV 例程 300篇]253. 多帧图像(动图)的读取与保存 1. 多帧图像(动图) 多帧图像是将多幅图像 ...

  3. Cube painting UVA - 253

    要仔细仔细仔细看题,不然会绕到好远,理清思路的话没什么难度,应该可以有好多种方法. 对比两个给出的骰子,比较他们是不是同一个(有相同方式的上色).输入输出很友好,没有卡人的地方. 注意要按给定的方式进 ...

  4. ACM Plan UVa - 168 Theseus and the Minotaur(图的遍历,深度优先)

    题目: 原文太长,简单说一下.如标题所述,是希腊神话的迷宫故事,给出一张图,以及T和M两个人物的位置.因为M怕光,所以T拿着蜡烛追逐M,T每走过K个节点,就会在第K个节点上点上一支蜡烛.M在逃跑时,会 ...

  5. 【ACM】UVA - 340 Master-Mind Hints(一定要好好学英语...)

    https://vjudge.net/problem/UVA-340 N  表示  密码的个数 第一行是正确的密码 下面的行直到N个0之前,都是猜测的序列,输出的括号(A,B) A表示对应位置与密码相 ...

  6. 【ACM】Uva 1152 (4 Values whose Sum is 0) 二分查找lower_bound() 和upper_bound()的使用

    [问题描述] The SUM problem can be formulated as follows: given four lists A, B, C, D of integer values, ...

  7. 【ACM】UVa 489 刽子手游戏(自顶向下)

    [题目] Hangman Judge是一个猜英文单字的小游戏(在电子字典中常会看到),游戏规则如下: 1.答案单字写在纸上(每个字元一张纸),并且被盖起来,玩家每次猜一个英文字元(letter). 2 ...

  8. 【ACM】Uva 455

    [题目]:如果一个字符串可以由某个长度为k的字符串重复多次得到,则称该串以k为周期.输入一个长度不超过80的字符串,输出其最小正周期. 注意以下几点: 1.它的最小正周期一定可以被它的长度整除. 2第 ...

  9. 【ACM】UVa 1339

    [题目]:给定两个长度相同且不超过100的字符串,判断是否能把其中一个字符串的各个字母重排,然后对26个字母做一一映射,使得两个字符串相同.输入两个字符串,输出"YES"或者&qu ...

  10. ACM篇:UVA220黑白棋总结

    很纯粹的模拟. 需要注意的是输出格式,比如最后一个(i,j)后没有空格,最后一场棋后也无回车,以及输出棋子数量时数字占两位. 简单思路. LIST:遍历棋盘,每个点单独判断八个方向是否有同色棋子,有即 ...

最新文章

  1. setup_cuda.py 编译gpu_nms
  2. 纯CSS3实现轮播图
  3. 在两个有序的数组中找第N个数,二分查找 O(lgm+lgn)级
  4. 真不值!技术大神,却只是阿里P6...
  5. C# 查询一张表的数据用于补充另外一张表的数据 MySQL数据库
  6. 【转】微服务架构下分布式事务方案
  7. python不用中间变量交换值_不使用中间变量,交换int型的 a, b两个变量的值。
  8. 用于磁盘I / O性能SQL Server监视工具
  9. Java实现求二叉树的路径和
  10. 剑指offer——面试题44:扑克牌顺子
  11. asp.net ashx + JQuery Ajax + XML
  12. 小车手app安卓版下载_美森网校app下载_美森网校安卓版下载[英语培训]
  13. listary什么意思_listary pro有什么功能
  14. 直播app源码开发,聊天服务器的搭建教程
  15. Dell笔记本外接显示器—显示器模糊、字体不清晰
  16. 计算机桌面出现蓝色底色,桌面图标有蓝色背景的7种解决办法
  17. 我的朋友去国外出差回不来了
  18. 【Excel】数值型数字和文本型数字
  19. 代理模式Proxy——在线代理
  20. 小程序paho.mqtt连接微消息队列 MQTT 版

热门文章

  1. C++回调函数使用心得
  2. GAMIT数据的下载与准备
  3. java 树什么意思是什么意思是什么意思_什么是红黑树?看完这篇你就明白了!...
  4. python开平方根_python里开平方
  5. 医院信息系统等级保护
  6. repo sync error: Exited sync due to fetch errors
  7. 应用时间序列分析——有季节效应的非平稳序列分析-ARIMA加法模型-R语言
  8. Failed to prettify component
  9. Check Point R80.10 SmartConsole汉化生成中文报表
  10. 内存超频时序怎么调_憋了很久的问题:内存时序有什么用?超频时怎么调?