算典04_习题_04_UVA-253
2017-03-27 14:43
239 查看
骰子涂色
题意
输入两个骰子,判断二者是否等价题解
枚举旋转即可固定一个对面,旋转其余的四个面(这样旋转了四次),总共6个面,总共枚举24次即可判断
#include <iostream> #include <cstdio> #include <algorithm> #include <cstring> using namespace std; const int maxn = 1e3 + 5; const int INF = (1<<15)-1; char s[20], a[20], b[20], tmp[20]; //上前左右后下 int dir[6][6] = { {1,2,3,4,5,6} ,{2,6,3,4,1,5} ,{3,2,6,1,5,4} ,{4,2,1,6,5,3} ,{5,1,3,4,6,2} ,{6,2,4,3,5,1} }; bool solve() { for(int i = 1; i <= 6; ++i) a[i] = s[i], b[i] = s[i+6]; for(int i = 0; i <= 5; ++i) { for(int j = 0; j <= 5; ++j) tmp[j+1] = b[dir[i][j]]; for(int d = 0; d < 4; ++d) { char t = tmp[2]; tmp[2] = tmp[3]; tmp[3] = tmp[5]; tmp[5] = tmp[4]; tmp[4] = t; if(!strcmp(tmp+1, a+1)) return 1; } } return 0; } int main(){ #ifdef _LOCAL freopen("in.txt", "r", stdin); #endif // _LOCAL while(scanf("%s", s+1) != EOF) { if(solve()) printf("TRUE\n"); else printf("FALSE\n"); } return 0; }
相关文章推荐
- 算典04_习题_08_UVA-12108
- 算典03_习题_04_Uva-455
- 算法竞赛入门经典(第2版)习题4-4 骰子涂色 Cube painting UVa 253
- 算典04_习题_10_UVA-815
- 算法竞赛入门经典(第2版)习题4-4 骰子涂色UVa253
- 算法竞赛入门经典第四章习题4-4 Cube painting UVA - 253
- 算法竞赛入门经典(第2版)习题4-4 骰子涂色 Uva253
- 习题4-4 骰子涂色 UVa253
- uva 253 习题4-4
- 习题4-4 骰子涂色 UVa253
- 算典04_习题_01_UVA-1589
- 习题4-4 uva253骰子涂色简单题解(更新至简洁21行)
- 算典04_习题_02_UVA-201
- 习题 4-4 骰子涂色(Cubepainting,UVa 253)
- 算典04_习题_03_UVA-220
- 算典04_习题_05_UVA-1590
- 习题 6-1 平衡的括号 UVa 673
- UVA 253 Cube painting
- 算法竞赛入门经典 习题5-5 复合词 UVa10391
- 紫书章四习题一 xiangqi uva 1589(模拟)