
rightTurn
Cho lưới nguyên Oxy. Điểm nguyên (x1, y1) và điểm nguyên (x2, y2) được gọi là kề nhau nếu thỏa điều kiện |x1 – x2| + |y1 – y2| = 1. Một robot ban đầu đứng tại gốc tọa độ. Ở mỗi bước, robot sẽ di chuyển sang một điểm nguyên kề với vị trí hiện tại. Từ bước di chuyển thứ hai trở đi, robot có thể đi tiếp theo hướng cũ, rẽ sang trái, rẽ sang phải, hay trở lại vị trí trước đó.
Cho tọa độ các điểm nguyên mà robot đã đi qua. Hãy đếm xem robot đã rẽ phải bao nhiêu lần.
Ví dụ:
- Với
move = [[0,0],[1,0],[1,1],[2,1],[2,0],[3,0],[3,-1]]
thìrightTurn(move) = 3
.
Đường đi của robot được miêu tả như hình trên, từ ô (0,0)
, robot đi đến (1,0)
, rẽ trái sang ô (1,1)
, rẽ phải sang ô (2,1)
, rẽ phải sang ô (2,0)
, rẽ trái sang (3,0)
cuối cùng rẽ phải sang ô (3, - 1)
. Tổng cộng robot đã rẽ phải 3
lần.
Đầu vào/đầu ra:
- [Thời gian chạy]: 0.5s với C++, 3s với Java/C#, 4s với Python/Go/Java Script
- [Đầu vào] Matrix of Integers move
Mảng chứa tọa độ các điểm nguyên mà robot đã đi qua.2 ≤ move.size() ≤ 10000
move[].size() = 2
- [Đầu ra]: Integer
Số lần rẽ phải của robot.
Post Comment