UVA-253 Cube painting

来源:互联网 发布:中秋节祝福网页源码 编辑:程序博客网 时间:2024/05/16 19:49

2016-08-08

UVA - 253 Cube painting

题目大意:给两个正方体涂色,问经过旋转是否能变为一模一样。

解题思路:检测两个正方体的三对面颜色是否对应相等,相等令其为 0,有三对之后输出 TRUE。

#include <iostream>#include <cstring>#include <cstdio>using namespace std;int main() {char str[100];char cub1[3][2];char cub2[3][2];while ( scanf("%s",str) != EOF ) {for (int i = 0; i < 3; i++) {cub1[i][0] = str[i];cub1[i][1] = str[5-i];cub2[i][0] = str[i+6];cub2[i][1] = str[11-i];}int flag = 0;int temp[3] = { 9 , 9 , 9 }; //用来记录第二组方块中已匹配过的数据的编号。for (int i = 0; i < 3; i++) {int b = 0;for (int j = 0; j < 3; j++) {for (int k = 0; k < 3; k++) {if ( temp[k] == j )b = 1;}if ( b ) {b = 0;continue;}if ( (cub1[i][0] == cub2[j][0] && cub1[i][1] == cub2[j][1]) || (cub1[i][0] == cub2[j][1] && cub1[i][1] == cub2[j][0]) ) {flag++;temp[i] = j;break;}}}if ( flag == 3 )cout << "TRUE" << endl;elsecout << "FALSE" << endl;}return 0;}


0 0
原创粉丝点击