Lý lịch
Vài tháng trước, cuộc phiêu lưu của cuộc đời bạn sắp bắt đầu. Bây giờ, trong thời điểm chính xác này (yeah, now), sau nhiều tháng đau khổ và vất vả, bạn và một nhóm bạn đang đứng trên đỉnh thế giới. Vâng, bạn đúng, bạn đang ở trên đỉnh của Sagarmāthā .
Tuy nhiên, mọi thứ sẽ không diễn ra tốt như bạn muốn. Một màn sương mù dày đặc đã bao quanh bạn và một cơn bão cực kỳ xấu đang đến nhanh nhất có thể. Bạn đã không sửa bất kỳ sợi dây nào trên đường lên và dấu chân của bạn đã bị tuyết bao phủ. Nếu bạn muốn sống sót (ít nhất là cho ngày hôm nay), bạn cần phải ra khỏi đó nhanh nhất có thể, nhưng trước tiên bạn PHẢI tìm cách để biết mặt nào của ngọn núi là nơi bạn nên xuống.
May mắn thay, bạn đã mang theo bên mình điện thoại sat mà bạn đã sửa đổi trước chuyến đi để bạn có thể lập trình và thực hiện các chương trình trong đó.
Thử thách
Bạn đã có thể tải xuống điện thoại của mình bản đồ của ngọn núi theo cách ASCII - lỗi thời - không thể đọc được trên đỉnh cao của thế giới. Nhiệm vụ của bạn là quyết định bộ mặt nào của ngọn núi có nguồn gốc dễ nhất để bạn có thể tăng cơ hội sống sót. Để làm như vậy, bạn có một ý tưởng tuyệt vời để mã hóa một chương trình trên điện thoại của bạn sẽ cho biết đó là cách dễ nhất. (Tuyên bố miễn trừ trách nhiệm: Những hoạt động này đã được thực hiện bởi các chuyên gia. Không có lập trình viên nào bị tổn thương trong bài tường thuật này. Xin vui lòng, đừng thử điều này ở nhà.)
Bản đồ chỉ được tạo từ các ký tự /và \(cộng với khoảng trắng và dòng mới). Trong bất kỳ bản đồ nào, đỉnh núi luôn được đại diện bởi
/\
\/
và từ mỗi bên ( 1,2,3hoặc 4) của đỉnh núi, bạn sẽ luôn tìm thấy một con đường "có thể" xuống núi.
1 /\ 2
3 \/ 4
Các tuyến đường luôn được trình bày theo cách tiếp theo:
\
Steep-> / /
/ / <-Flat
/ \
Flat-> \ \
/ \ <-Steep
/\
\/
trong đó mỗi nhân vật mới là một nơi ở bên trái / bên phải của người tiền nhiệm. Ý nghĩa của mỗi nhân vật là:
- Nếu dấu gạch chéo / phản ứng ngược song song với phía đỉnh của nó -> được tính là một phần 'dốc'.
- Nếu dấu gạch chéo / dấu gạch chéo vuông góc với cạnh đỉnh của nó -> được tính là một phần 'phẳng'.
* Để tham khảo thêm xem hình trên.
chú thích : Các mặt có thể có độ dài khác nhau và các ký tự tạo thành đỉnh cũng được tính là một phần của phía chúng. Trong trường hợp bốc thăm, bạn có thể chọn bất kỳ trong số họ.
Sơ hở tiêu chuẩn là không được phép.
Đầu vào
Một chuỗi đại diện cho bản đồ của ngọn núi hoặc một tệp văn bản đơn giản chứa cùng thông tin.
Hoặc
C:\....\file.txt
hoặc là
\
/ /
/ /
/ \
\ \
/ \
/\
\/
\ /
\ \
\ \
\ \
/ /
như một chuỗi là đầu vào hợp lệ.
Đầu ra
Là đầu ra, bạn nên tạo một tệp bằng văn bản thuần túy hoặc bằng cách xuất bản một biểu diễn hồ sơ ASCII của bên có độ dốc trung bình nhỏ nhất sử dụng _cho các phần phẳng và /cho các phần dốc cùng với độ dốc trung bình của bên (number of "/")/(total chars).
Ví dụ đầu ra cho bản đồ trên:
/
___/
/
AS:0.5
Các định dạng không quan trọng miễn là bạn có hồ sơ và độ dốc trung bình.
Chấm điểm
Gì? Bạn có muốn một phần thưởng tốt hơn là cứu mạng bạn và bạn của bạn và là lập trình viên đầu tiên đã từng lập trình trên đỉnh thế giới? Được rồi ... đây là mã golf, vì vậy chương trình ngắn nhất trong byte thắng.
Các trường hợp thử nghiệm
Đầu vào:
\
/ /
/ /
/ \
\ \
/ \
/\
\/
\ /
\ \
\ \
\ \
/ /
Đầu ra:
/
___/
/
AS=0.5
Đầu vào:
/
\ /
/ /
\ /
\ /
/ /
/\
\/
\ /
\ \
\ \
\ \
/ /
/
/
Đầu ra:
______/
AS=0.143 (1/7)
Đầu vào:
/ \
\ \
/ /
/ \
/\
\/
\ /
\ /
\ /
/ \
Đầu ra:
/
/
/
_/
AS=0.8