Ngày trước, tất cả 1337 trẻ em đã sử dụng các phần mềm văn bản trong các phòng chat. Tôi không biết về các bạn, nhưng tôi muốn cảm thấy tuyệt như họ đã làm. Vấn đề duy nhất là các tập lệnh và ứng dụng cũ của chúng được kết hợp chặt chẽ với phần mềm mà chúng được tạo ra, vì vậy tôi không thể sử dụng chức năng tuyệt vời này bất cứ nơi nào tôi muốn. Tôi cũng muốn giải pháp dễ dàng mang theo để bạn cần làm cho mã càng nhỏ càng tốt để nó phù hợp với đĩa mềm của tôi (tôi chỉ muốn mang một đĩa mềm nhưng nếu mã nguồn của bạn quá lớn Tôi có thể mang nhiều hơn một : P ).
Đầu vào
- Danh sách các màu (rgb, hex, tên, v.v.)
- Văn bản để định dạng
Chương trình của bạn sẽ mong đợi danh sách các màu chứa ít nhất 2 màu.
Văn bản thành định dạng có thể dài bất kỳ lớn hơn 0 và các ký tự sẽ được giới hạn ở ascii có thể in được. (Gợi ý: Nhập văn bản dài hơn có thể yêu cầu bạn sử dụng lại các màu trung gian cho các ký tự liên tiếp)
Đầu ra
Văn bản đầu ra không được khác với văn bản đầu vào theo bất kỳ cách nào khác ngoài phông chữ và / hoặc đánh dấu / kiểu dáng (Lưu ý: nếu đầu ra của bạn chứa đánh dấu html thì bạn sẽ cần mã hóa html đầu vào). Bạn có thể xuất văn bản với đánh dấu / kiểu dáng (thẻ kiểu html, màu bảng điều khiển, v.v.) hoặc hình ảnh của văn bản bị mờ. Tất cả các hình lục giác màu phải có trong đầu ra trừ khi đầu vào không chứa đủ ký tự để đáp ứng yêu cầu này. Nếu đây là trường hợp, sau đó tham khảo các quy tắc ưu tiên để xác định những hình lục giác màu nào sẽ có trong đầu ra của bạn. Thứ tự hoặc những màu này trong đầu ra của bạn vẫn phải là thứ tự đầu vào.
Quy tắc ưu tiên màu
- Trong trường hợp đầu vào là một ký tự, màu đầu tiên sẽ được sử dụng
- Trong trường hợp chỉ có hai ký tự, màu đầu tiên và màu cuối cùng sẽ được sử dụng
- Trong trường hợp có nhiều hơn ba màu và nhiều màu hơn ký tự, các màu đầu tiên và cuối cùng sẽ được ưu tiên, sau đó các màu còn lại theo thứ tự được nhập vào.
- Trong trường hợp có nhiều ký tự hơn màu sắc, các ký tự sẽ mờ dần từ màu này sang màu khác bằng các màu trung gian
Ví dụ (Quy tắc ưu tiên 1-3 tương ứng):
# Colors | Màu 0 | ... | Màu n | Văn bản
3 ff0000 0000ff ffff00 M-> -> ->
3 ff0000 0000ff ffff00 hi
4 ff0000 0000ff ffff00 0fff00 sup
Để rõ ràng, màu văn bản nên mờ dần từ một màu hex sang màu tiếp theo. Độ mờ không nhất thiết phải hoàn toàn đồng nhất nhưng không nên thay đổi màu đột ngột trừ khi không có đủ ký tự để làm mờ dần. Nói chung, độ mờ này đạt được bằng cách chọn các màu trung gian cho mỗi ký tự bằng cách tăng / giảm các giá trị rgb theo một khoảng thời gian được xác định bởi số lượng ký tự bạn phải làm việc và sự khác biệt giữa các màu. Ví dụ: nếu chúng ta cần một màu duy nhất giữa
(# ff0000) và
(# 000000), chúng ta có thể chọn
vì nó nằm ngay giữa. Đầu ra tối ưu sẽ trông khá đẹp.
Ví dụ (Quy tắc ưu tiên 4):
3 ff0000 ff7f00 f0ff00 To be or not to be, that is the question...->
-OR-
<span style="color:#ff0000;">T</span><span style="color:#ff0600;">o</span><span style="color:#ff0c00;"> </span><span style="color:#ff1200;">b</span><span style="color:#ff1800;">e</span><span style="color:#ff1e00;"> </span><span style="color:#ff2400;">o</span><span style="color:#ff2a00;">r</span><span style="color:#ff3000;"> </span><span style="color:#ff3600;">n</span><span style="color:#ff3c00;">o</span><span style="color:#ff4300;">t</span><span style="color:#ff4900;"> </span><span style="color:#ff4f00;">t</span><span style="color:#ff5500;">o</span><span style="color:#ff5b00;"> </span><span style="color:#ff6100;">b</span><span style="color:#ff6700;">e</span><span style="color:#ff6d00;">,</span><span style="color:#ff7300;"> </span><span style="color:#ff7900;">t</span><span style="color:#ff7f00;">h</span><span style="color:#fe8500;">a</span><span style="color:#fe8b00;">t</span><span style="color:#fd9100;"> </span><span style="color:#fc9700;">i</span><span style="color:#fb9d00;">s</span><span style="color:#fba400;"> </span><span style="color:#faaa00;">t</span><span style="color:#f9b000;">h</span><span style="color:#f9b600;">e</span><span style="color:#f8bc00;"> </span><span style="color:#f7c200;">q</span><span style="color:#f6c800;">u</span><span style="color:#f6ce00;">e</span><span style="color:#f5d400;">s</span><span style="color:#f4da00;">t</span><span style="color:#f4e100;">i</span><span style="color:#f3e700;">o</span><span style="color:#f2ed00;">n</span><span style="color:#f1f300;">.</span><span style="color:#f1f900;">.</span><span style="color:#f0ff00;">.</span>
Trong câu trả lời của bạn, vui lòng xác định cách hiển thị đầu ra của bạn (dưới dạng html, trong bảng điều khiển, dưới dạng hình ảnh, v.v.).
* Tất cả các nền đen chỉ để nhấn mạnh màu sắc và không bắt buộc
Chấm điểm
Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất (tính bằng byte) sẽ thắng.
Nếu bạn quản lý để thêm mờ dần cho từng ký tự thì tôi sẽ mãi mãi nghĩ bạn thật tuyệt (nhưng không có phần thưởng để ghi điểm vì điều này sẽ không công bằng đối với một số lang)
000000và ff0000nên là b40000( 255*sqrt((0+1)/2))

#000000và#ff0000không#800000.