Tôi có một vấn đề nghiêm trọng. Tôi có một số tệp văn bản nơi tôi giữ những con số rất quan trọng của mình - tất cả những số quan trọng! Và twos, và ba ..
Những con số này rất quan trọng đến nỗi tôi không thể giao phó chúng cho các hệ thống số thập phân hoặc số nhị phân mới lạ này. Tôi giữ mỗi số được mã hóa thành unary, như vậy:
+--+
| |
+---+ +----+ |
| | | |
+---+ +-------+
~/two.txt
Đơn giản và đáng tin cậy: hai vòng lặp ASCII cho số 2. Thật không may, những điều này có xu hướng bị rối theo thời gian và bây giờ tôi có một thời gian khó khăn để tìm ra có bao nhiêu vòng lặp trong mỗi tệp. Dưới đây là một số ví dụ mà tôi đã làm bằng tay:
Một:
+---+
| |
+--+ |
| |
+--+ |
| |
| |
| |
+--+ +--+
| |
+---------+
Số ba:
+---------+
| +-----+ |
| | +-+ | |
| | | | | |
| | +-+ | |
| +-----+ |
+---------+
Bốn:
+--------------+
| +--+ +--+ |
| | | | | |
+-|-----|-----|----+
| | | | | | | |
| +--+ +--+ +--+ |
+------------------+
+------------+
| |
+-----+ +-----+ |
| | | |
+-----|-----------+ | |
| | +--+ | | | |
+-+ +--|--|--+ +---------+
| | +-+ | | |
+------+ | | | |
+-------+ | |
|| | |
|+-----+
| |
+---+
Số năm:
+--------+ +--------+ +--------+
| | | | | |
| +--|-----+ +--|-----+ |
| | | | | | | | | |
+-----|--+ +-----|--+ +--------+
| | | |
+--------+ +--------+
Bạn có thể giúp tôi đếm vòng lặp của tôi?
Đây là các quy tắc:
- Vì tôi lưu trữ mọi thứ trong unary được mã hóa ASCII, hiệu quả không gian rất quan trọng đối với tôi. Do đó, đây là mã golf. Chương trình nhỏ nhất tính bằng byte thắng.
- Vòng lặp được vẽ với các ký tự +, -, |. Mọi góc trong vòng lặp được vẽ rõ ràng: chính xác một trong các ký tự bên trên và bên dưới dấu + sẽ là | và chính xác một ở bên phải hoặc bên trái sẽ là -. Hai dấu + không bao giờ liền kề.
- Các sợi có thể vượt qua và dưới nhau. Khi các sợi chéo nhau, bạn sẽ có thể thấy dải "dưới" ngay lập tức ở cả hai phía của dải "trên".
- Chương trình của bạn nên lấy một chuỗi đại diện của vòng lặp (từ stdin hoặc dưới dạng tham số hàm) và tạo ra một số (để xuất chuẩn hoặc làm giá trị trả về).
- Độ dài dòng có thể không đồng nhất trong bản vẽ vòng lặp và có thể có các khoảng trắng ở mỗi dòng.
- Bạn có thể cho rằng có ít nhất một vòng lặp trong đầu vào.
Tôi đang trông cậy vào bạn!
+
?