Là một lập trình viên, có lẽ bạn đã nghe nói về dấu gạch chéo về phía trước và dấu gạch chéo ngược. Nhưng bạn đã nghe nói về dấu gạch chéo? Đó là khi bạn lấy một loạt các dấu gạch chéo, nối đầu của chúng và kéo chúng xuống.
Đối với thử thách ngày nay, bạn phải viết một chương trình hoặc hàm lấy một chuỗi hoàn toàn là các dấu gạch chéo và xuất ra tất cả các dấu gạch chéo được kéo xuống dưới trong một đường nối chúng. Điều này sẽ rõ ràng hơn rất nhiều nếu bạn nhìn thấy một ví dụ. Đưa ra chuỗi \\\//\/\\
, bạn nên xuất ra:
\
\
\
/
/
\
/
\
\
Dưới đây là một số làm rõ:
Phải có một dấu gạch chéo trên mỗi dòng.
Dòng đầu tiên sẽ có 0 không gian hàng đầu.
Đối với mỗi cặp dấu gạch chéo:
Nếu chúng khác nhau, chúng sẽ được vẽ trong cùng một cột. Ví dụ:
\/
sẽ cho:\ /
Nếu chúng là cùng một ký tự, thì phần dưới nằm theo hướng được chỉ vào, đó là di chuyển sang bên phải cho dấu gạch chéo ngược và di chuyển sang bên trái để chém về phía trước. Vậy
\\//
sẽ cho\ \ / /
Mỗi dòng có thể có thêm khoảng trắng theo sau miễn là điều này không làm thay đổi giao diện trực quan của đầu ra. Lên đến một dấu vết và dòng mới hàng đầu cũng được chấp nhận. Không gian hàng đầu thêm không được phép !
Để giữ cho điều này đơn giản hơn, bạn có thể giả định rằng chuỗi sẽ không bao giờ chứa quá nhiều dấu gạch chéo về phía trước. Nói cách khác, không có tiền tố của đầu vào sẽ chứa nhiều dấu gạch chéo về phía trước hơn dấu gạch chéo ngược, do đó, một đầu vào giống \\////
hoặc //
sẽ không bao giờ được đưa ra. Điều này cũng có nghĩa là mọi đầu vào sẽ bắt đầu bằng dấu gạch chéo ngược.
Nếu đầu vào của bạn được lấy dưới dạng chuỗi ký tự, bạn có thể thoát khỏi dấu gạch chéo ngược nếu điều này là cần thiết. Bạn cũng sẽ không bao giờ cần xử lý một đầu vào trống hoặc chứa các ký tự không phải là dấu gạch chéo.
Bạn có thể xuất ra bởi bất kỳ định dạng hợp lý .
Như thường lệ, đây là một thử thách chơi gôn , vì vậy hãy cố gắng đưa ra giải pháp ngắn nhất có thể, ngay cả khi bạn chọn một ngôn ngữ mà điều này khá khó khăn. Điểm thưởng cho việc giải thích bất kỳ kỹ thuật thú vị nào bạn đã sử dụng để loại bỏ byte!
Ví dụ
#Input
\\\\\\\\\\\
#Output
\
\
\
\
\
\
\
\
\
\
\
#Input
\\\//\\/\//\\///
#Output
\
\
\
/
/
\
\
/
\
/
/
\
\
/
/
/
#Input
\/\/\/
#Output
\
/
\
/
\
/