Mô tả
Tại Viettel Post, đội ngũ kỹ thuật sử dụng drone để giao hàng tại các khu vực phức tạp như chung cư cao tầng. Khi bay vào vùng nhiễu tín hiệu, bộ điều hướng của drone có thể trục trặc, khiến nó lặp lại đúng một chuỗi lệnh di chuyển cũ một cách vô tận.
Hệ thống theo dõi ghi lại chuỗi lệnh di chuyển dự phòng của drone dưới dạng một chuỗi ký tự gồm các chữ cái: U (lên trên), D (xuống dưới), L (sang trái), R (sang phải). Khi drone bắt đầu rơi vào trạng thái nhiễu, nó sẽ thực hiện chuỗi lệnh này lặp đi lặp lại cho đến khi hệ thống can thiệp.
Nhiệm vụ của bạn là phân tích chuỗi lệnh này và xác định xem drone có bị mắc kẹt trong một vòng lặp vô hạn hay không. Một chuỗi lệnh tạo ra vòng lặp nếu sau khi thực hiện hết các lệnh, drone quay trở lại đúng tọa độ xuất phát ban đầu. Nếu đúng như vậy, drone sẽ mãi mãi quẩn quanh trong một khu vực giới hạn. Nếu không, drone sẽ ngày càng bay xa khỏi vị trí ban đầu.
Đầu vào
- Một chuỗi
lenhgồm các ký tự trong tập hợp{'U', 'D', 'L', 'R'}.
Đầu ra
- Trả về
Truenếu chuỗi lệnh khiến drone lặp vòng (quay về tọa độ xuất phát sau một vòng lặp). - Trả về
Falsetrong trường hợp ngược lại.
Ràng buộc
- Độ dài chuỗi
lenhtừ 1 đến 10^5 ký tự. - Chuỗi chỉ chứa các chữ cái
U,D,L,R.
Ví dụ
Ví dụ 1:
- Đầu vào:
"UDLR" - Đầu ra:
True - Giải thích: Giả sử drone xuất phát tại tọa độ (0, 0).
Thực hiện
U: di chuyển lên trên, tọa độ mới là (0, 1). Thực hiệnD: di chuyển xuống dưới, tọa độ mới là (0, 0). Thực hiệnL: di chuyển sang trái, tọa độ mới là (-1, 0). Thực hiệnR: di chuyển sang phải, tọa độ mới là (0, 0). Kết thúc chuỗi lệnh, drone quay về (0, 0). Nếu lặp lại chuỗi này, drone sẽ tiếp tục đi một vòng khép kín. Do đó, nó bị lặp vòng.
Ví dụ 2:
- Đầu vào:
"UUR" - Đầu ra:
False - Giải thích: Xuất phát tại (0, 0). Sau khi thực hiện
U,U,R, drone dừng lại tại tọa độ (1, 2). Tọa độ này khác với ban đầu, do đó drone không lặp vòng.