码蹄杯 魔方 题型:模拟 难度:白银

84 阅读1分钟

码题集OJ-魔方 (matiji.net)

image.png 样例输入

3
3U
2L
1D

样例输出

brg
rbg
gbr

思想

纯模拟

code

#include<bits/stdc++.h> 
using namespace std;
char g[3][3];
int main()
{
	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j <3; j++)
		{
			if(i==0)g[i][j] = 'r';
			if(i == 1)g[i][j] = 'g';
			if(i == 2)g[i][j] = 'b';
		}
	}
	
	//char g[3][3]={'r','r','r','g','g','g','b','b','b'};

	int n; cin >> n;
	while(n--)
	{
		string s; cin >> s;


			int x=s[0]-'0'-1;
			if (s[1] == 'L' )
			{
               char temp=g[x][0];
               g[x][0]=g[x][1];
               g[x][1]=g[x][2];
               g[x][2]=temp;
			}
			if(s[1]=='R')
			{
			   char temp=g[x][2];
			   g[x][2]=g[x][1];
			   g[x][1]=g[x][0];
			   g[x][0]=temp;
			}
			if(s[1]=='U')
			{
				char temp=g[0][x];
				g[0][x]=g[1][x];
				g[1][x]=g[2][x];
				g[2][x]=temp;
			}
			if(s[1]=='D')
			{
				char temp=g[2][x];
				g[2][x]=g[1][x];
				g[1][x]=g[0][x];
				g[0][x]=temp;
			}
    }

	for (int i = 0; i < 3; i++)
	{
		for (int j = 0; j < 3; j++)
		{
			cout << g[i][j];
		}cout << endl;
	}


	return 0;
}

image.png