Skittles là kẹo màu trong đó có 5 hương vị riêng biệt; nho, táo xanh, chanh, cam và dâu đại diện bởi (p) urple, (g) reen, (y) ellow, (o), và (r) ed tương ứng. Tôi đã từng ăn skittles bằng cách sắp xếp tất cả các màu khác nhau, sau đó ăn chúng theo trình tự. Sau khi nhận được một vài cái nhìn kỳ lạ trong văn phòng, bây giờ tôi giả vờ ăn chúng như một người bình thường. Nhiệm vụ của bạn là mô phỏng điều này:
Mã của bạn (chương trình hoặc chức năng đầy đủ) sẽ nhận được một mảng skittles (10x10) làm đầu vào (ở bất kỳ định dạng hợp lý nào). Mảng này sẽ đại diện cho một đống skittles chưa được sắp xếp. Nhiệm vụ của bạn là "ăn" chúng từ màu yêu thích nhất đến màu yêu thích. Đơn hàng ưa thích của tôi là nho, táo xanh, chanh, cam, dâu tây, nhưng bạn có thể tự do chọn bất kỳ đơn hàng nào miễn là nó được thực thi một cách nhất quán (vui lòng liệt kê sở thích của bạn trong bài đăng của bạn để tôi có thể đánh giá bạn về nó). Sau khi ăn từng miếng kẹo, mã của bạn sẽ xuất ra (theo cùng định dạng bạn lấy đầu vào), đống còn lại với miếng đã ăn được thay thế bằng khoảng trắng. Bạn sẽ lặp lại cho đến khi chỉ còn lại yêu thích của bạn. Bạn có thể chọn bất kỳ món ăn vặt nào để ăn (có thể là ngẫu nhiên hoặc xác định). Không gian lưu trữ phải được giữ.
Ví dụ: chuỗi đầu ra của bạn có thể trông như thế này (sử dụng 5x5 cho ngắn gọn và hiển thị khoảng trắng dưới dạng .
)
start 1 2 3 4 5 n
.org. .org. .org. .org. .or.. .or.. ..r..
prgrg .rgrg .rgrg .rgrg .rgrg .r.rg .r.r.
gggpr gggpr ggg.r ggg.r ggg.r ggg.r ....r
oyyor oyyor oyyor oyyor oyyor oyyor ....r
.r.p. .r.p. .r.p. .r... .r... .r... .r...
Đây là mã golf , vì vậy mã ngắn nhất tính bằng byte thắng
Quy tắc TL; DR:
- Đệ trình có thể là chương trình đầy đủ hoặc chức năng
- Đầu vào có thể được lấy theo bất kỳ định dạng hợp lý nào (chuỗi, danh sách, ma trận, v.v.) bằng bất kỳ phương thức hợp lý nào (STDIN, đối số hàm, v.v.). Tuy nhiên, phải có một số phân định giữa các hàng
- Đầu ra phải được sản xuất theo cùng định dạng với đầu vào bằng bất kỳ phương thức hợp lý nào (STDOUT, trả về hàm, ect.). Đầu ra trung gian có thể hoặc không thể được phân định
- Đầu ra đầu tiên sẽ là đầu vào đầu tiên
- Không gian lưu trữ phải được bảo tồn
- Bất kỳ thứ tự màu nào có thể được sử dụng (liệt kê trong câu trả lời của bạn)
- Bất kỳ màu sắc nào của màu hiện tại có thể được ăn
- Đầu ra cuối cùng sẽ chỉ là màu sắc và không gian yêu thích của bạn
- Nếu có thể, hãy bao gồm một liên kết đến trình biên dịch trực tuyến để kiểm tra trình của bạn