Do những hạn chế kỹ thuật của Stack Exchange, tiêu đề được hiển thị không chính xác. Các đúng tiêu đề cho thách thức này là
Làm một
Word Icicle!
Word Icicle
Word cicle
ord cicle
ord icle
ord i le
or i le
or i l
or l
or
r
Thách thức của ngày hôm nay là tạo ra các cột từ từ đầu vào. Đưa ra một chuỗi ASCII hoàn toàn có thể in và ít nhất 2 ký tự không phải dấu cách, thực hiện các bước sau:
In trạng thái hiện tại của chuỗi.
Thay thế ký tự từ vựng nhỏ nhất (trừ khoảng trắng) bằng khoảng trắng. Nếu có cà vạt, thay thế ký tự ngoài cùng bên trái.
Lặp lại trên các dòng liên tiếp cho đến khi chuỗi chỉ chứa 1 ký tự không phải khoảng trắng.
Điều này tạo ra hiệu ứng mà chuỗi đầu vào trông giống như nó đang tan chảy ...
I'm Melting!!!
I'm Melting !!
I'm Melting !
I'm Melting
I m Melting
m Melting
m elting
m lting
m ltin
m lt n
m t n
t n
t
Quy tắc
Sau một vài lần lặp lại, đầu ra của bạn gần như chắc chắn sẽ có khoảng trắng ở mỗi dòng. Nếu bạn chọn cắt bớt những thứ này, điều đó được cho phép.
Bạn có thể có một dòng trống, nhưng không nhiều hơn.
Hãy nhớ rằng đầu vào có thể chứa một số khoảng trắng, nhưng tất cả chúng đều bị bỏ qua một cách hiệu quả. Ví dụ, đầu vào
a a
sẽ cung cấp choa a a
Bạn có thể lấy đầu vào làm danh sách các chuỗi nếu bạn muốn. Đối với đầu ra, bạn có thể trả về hoặc in danh sách các chuỗi, một chuỗi có dòng mới hoặc mảng ma trận char / 2D. Nói chung, tôi thích các định dạng IO cho phép, vì vậy các định dạng khác rất có thể được cho phép miễn là chúng phù hợp và rõ ràng tương ứng với đầu ra đúng. Nếu nghi ngờ, hãy hỏi. Như thường lệ, các chương trình hoặc chức năng đầy đủ được cho phép.
Hãy nhớ rằng, đây là một cuộc thi để đưa ra câu trả lời ngắn nhất bằng bất kỳ ngôn ngữ nào! Nếu bạn chọn trả lời bằng Java, hãy thử tạo câu trả lời Java ngắn nhất (tính bằng byte) mà bạn có thể.
Các trường hợp thử nghiệm
Hello World! -->
Hello World!
Hello World
ello World
ello orld
ello orl
llo orl
lo orl
o orl
o or
or
r
AbCdEfGhIjKlMnOpQrStUvWxYz -->
AbCdEfGhIjKlMnOpQrStUvWxYz
bCdEfGhIjKlMnOpQrStUvWxYz
b dEfGhIjKlMnOpQrStUvWxYz
b d fGhIjKlMnOpQrStUvWxYz
b d f hIjKlMnOpQrStUvWxYz
b d f h jKlMnOpQrStUvWxYz
b d f h j lMnOpQrStUvWxYz
b d f h j l nOpQrStUvWxYz
b d f h j l n pQrStUvWxYz
b d f h j l n p rStUvWxYz
b d f h j l n p r tUvWxYz
b d f h j l n p r t vWxYz
b d f h j l n p r t v xYz
b d f h j l n p r t v x z
d f h j l n p r t v x z
f h j l n p r t v x z
h j l n p r t v x z
j l n p r t v x z
l n p r t v x z
n p r t v x z
p r t v x z
r t v x z
t v x z
v x z
x z
z
PPCG is da BEST -->
PPCG is da BEST
PPCG is da EST
PP G is da EST
PP G is da ST
PP is da ST
P is da ST
is da ST
is da T
is da
is d
is
s
({({})({}[()])}{}) -->
({({})({}[()])}{})
{({})({}[()])}{})
{ {})({}[()])}{})
{ {}) {}[()])}{})
{ {}) {}[ )])}{})
{ {} {}[ )])}{})
{ {} {}[ ])}{})
{ {} {}[ ] }{})
{ {} {}[ ] }{}
{ {} {} ] }{}
{ {} {} }{}
{} {} }{}
} {} }{}
} } }{}
} } } }
} } }
} }
}