SRM 446 div1 easy
他の面に出たときは,今までいた面の反対側から出てくると考えると,1面だけ考えればよい.
#coding: utf-8 cube = (('RED','BLUE','RED'), ('BLUE','GREEN','BLUE'), ('RED','BLUE','RED')) direction = ((0,1),(1,0),(0,-1),(-1,0)) class CubeWalking: def finalPosition(self, movement): d = 0 px,py = 1,1 for m in movement: if m == 'L': d -= 1 if d < 0: d += 4 elif m == 'R': d += 1 if d >= 4: d -= 4 elif m == 'W': dx = direction[d][0] dy = direction[d][1] px += dx px %= 3 py += dy py %= 3 return cube[px][py]