Giới thiệu
Bạn đang chơi một trò chơi phù hợp, trong đó các đồng xu được chèn ở trên cùng và rơi xuống dưới cùng (lên đồng tiền trên cùng) do trọng lực.
Vậy đây
O <- inserting this coin
OO O
OOOOO
sẽ trở thành này
O
OO O
OOOOO
Bây giờ hãy tưởng tượng ai đó xoay bảng theo chiều kim đồng hồ. Sau đây sẽ xảy ra:
1. Bảng được xoay
OOO
OO
O
OO
O
2. Tiền xu rơi xuống do trọng lực
O
O
OO
OO
OOO
Nhiệm vụ của bạn
Nhiệm vụ của bạn là mô phỏng vòng quay của bảng bằng cách viết chương trình hoặc hàm. Để đơn giản, chúng tôi chỉ giao dịch với một loại tiền xu (đây không phải là một trò chơi phù hợp quá thú vị, đó là trò chơi). Bạn có thể giả định rằng trọng lực chỉ được áp dụng sau khi xoay xong. Bảng được xoay theo chiều kim đồng hồ.
Đầu vào
Đầu vào sẽ là một chuỗi, chứa 3 loại ký tự:
- O (vốn o) HOẶC 0 (không) - một đồng tiền (bạn quyết định giải pháp nào hỗ trợ cho bạn)
- (dấu cách) - một trường trống
- \ n (dòng mới) - cuối hàng
Đầu vào đại diện cho trạng thái của hội đồng quản trị. Bạn có thể giả sử, đầu vào được hình thành tốt và chứa trạng thái hợp lệ của bảng (không có đồng xu nào được thả nổi). Đầu vào có thể là một tham số chức năng, hoặc có thể được đọc từ đầu vào tiêu chuẩn hoặc từ một tệp.
Đầu ra
Đầu ra là trạng thái mới của bảng sau khi xoay. Đầu ra chứa 3 loại ký tự giống như đầu vào. Đầu ra có thể được trả về từ chức năng của bạn hoặc có thể được ghi vào đầu ra tiêu chuẩn hoặc vào một tệp.
Mẫu vật
Đầu vào1:
O
OO O
OOOOO
Đầu ra1:
O
O
OO
OO
OOO
Đầu vào2:
O O
O O
Đầu ra2:
OO
OO
Bạn có thể sử dụng bất kỳ ngôn ngữ và thư viện tiêu chuẩn của ngôn ngữ đã chọn. Chương trình ngắn nhất trong byte thắng.