题目描述:
思路:在旋转的每个过程中,始终有2个面是不变的。剩余的四个面采用暴力列举方式。
// 转骰子.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include#include using namespace std; int _tmain(int argc, _TCHAR* argv[]) { string str; cin >> str; string ini = "123456"; for (int i = 0; i < str.size(); i++) { if (str[i] == 'L') { swap(ini[0], ini[5]); swap(ini[1], ini[4]); swap(ini[0], ini[1]); } else if (str[i] == 'R') { swap(ini[0], ini[5]); swap(ini[1], ini[4]); swap(ini[4], ini[5]); } else if (str[i] == 'F') { swap(ini[3], ini[5]); swap(ini[2], ini[4]); } else if (str[i] == 'B') { swap(ini[3], ini[5]); swap(ini[2], ini[4]); swap(ini[2], ini[3]); } else if (str[i] == 'A') { swap(ini[0], ini[3]); swap(ini[1], ini[2]); swap(ini[2], ini[3]); } else if (str[i] == 'C') { swap(ini[0], ini[3]); swap(ini[1], ini[2]); swap(ini[0], ini[1]); } } cout << ini << endl; return 0; }
调试结果:
输入:RA
输出 :436512



