一个立方体有6各面,每个面朝上,然后绕z轴旋转又分别有4种情况,所以共有24中情况。然后依次比较颜色是否相同即可,比较麻烦的是如何表示旋转的各种情况,其中也参考了其他人的做法。
/* * uva253.cpp * * Created on: 2013-4-16 * Author: kevinjiang */ #include<cstdio> #include<cstring> int dir[6][6] = { { 0, 1, 2, 3, 4, 5 }, { 1, 5, 2, 3, 0, 4 }, { 2, 1, 5, 0, 4, 3 }, { 3, 1, 0, 5, 4, 2 }, { 4, 0, 2, 3, 5, 1 }, { 5, 4, 2, 3, 1, 0 } }; char str[20]; char cube1[10]; char cube2[10]; int sameColor() { char tmp[10] = { 0 }; //六个面分别当顶面 for (int i = 0; i < 6; i++) { for (int j = 0; j < 6; j++) { tmp[j] = cube2[dir[i][j]]; } //绕Z轴旋转4次分别比较 for(int i=0;i<4;i++){ char ch; ch=tmp[1]; tmp[1]=tmp[2]; tmp[2]=tmp[4]; tmp[4]=tmp[3]; tmp[3]=ch; if(strcmp(tmp,cube1)==0) return 1; } } return 0; } int main() { // setbuf(stdout,NULL); while (scanf("%s", str) != EOF) { for (int i = 0; i < 6; i++) { cube1[i] = str[i]; cube2[i] = str[i + 6]; } if (sameColor()) printf("TRUE\n"); else printf("FALSE\n"); } return 0; }
相关推荐
判断输入字符串是否为镜像或回文串。 来源于UVaOJ - 401. 水题。
开源项目-codingsince1985-UVa#uva-online-judge-solutions-in-golang.zip,两年来每天都在解决一个uva在线裁判问题,算起来…
uva705 Slash Maze 的代码,在UVaOJ上通过
PDF试题
uva532 Dungeon Master的源代码,并且AC了
Algorithm-UVA-Solutions-in-Python.zip,python 3中各种uva(acm)问题的解决方案。,算法是为计算机程序高效、彻底地完成任务而创建的一组详细的准则。
这是UVA133 TheDoleQueue救济金发放问题,经典的算法问题。初学算法的人要对这种算法非常熟悉并且能熟练运用。
tpcw-nyu-uva-client 客户端
leetcode 2 算法-Java UVa Online Judge(ACM-ICPC Live ...使用:数组、哈希表、链表、二分搜索、动态规划、堆栈、堆、reedy、排序、树 DFS、BFS、图、二分搜索树、递归、记忆、队列、映射等。...Uva-ACM-ICPC