atcoder#ABC219F. [ABC219F] Cleaning Robot
[ABC219F] Cleaning Robot
Score : points
Problem Statement
There is a cleaning robot on the square in an infinite two-dimensional grid.
The robot will be given a program represented as a string consisting of four kind of characters L
, R
, U
, D
.
It will read the characters in the program from left to right and perform the following action for each character read.
- Let be the square where the robot is currently on.
- Make the following move according to the character read:- if
L
is read: go to .- if
R
is read: go to . - if
U
is read: go to . - if
D
is read: go to .
- if
You are given a string consisting of L
, R
, U
, D
.
The program that will be executed by the robot is the concatenation of copies of .
Squares visited by the robot at least once, including the initial position , will be cleaned. Print the number of squares that will be cleaned at the end of the execution of the program.
Constraints
- is a string of length between and (inclusive) consisting of
L
,R
,U
,D
.
Input
Input is given from Standard Input in the following format:
Output
Print the number of squares that will be cleaned at the end of the execution of the program.
RDRUL
2
7
The robot will execute the program RDRULRDRUL
. It will start on and travel as follows:
$(0, 0) \rightarrow (1, 0) \rightarrow (1, 1) \rightarrow (2, 1) \rightarrow (2, 0) \rightarrow (1, 0) \rightarrow (2, 0) \rightarrow (2, 1) \rightarrow (3, 1) \rightarrow (3, 0) \rightarrow (2, 0)$.
In the end, seven squares will get cleaned: $(0, 0), (1, 0), (1, 1), (2, 0), (2, 1), (3, 0), (3, 1)$.
LR
1000000000000
2
UUURRDDDRRRUUUURDLLUURRRDDDDDDLLLLLLU
31415926535
219911485785