Tôi thích đường cong Hilbert .
Nhiệm vụ của bạn cho thử thách này là chụp một bức ảnh (đúng là một hình vuông trong đó tất cả các cạnh đều có sức mạnh hai pixel) và làm sáng tỏ nó theo từng đường theo hình zig-zagging và quay ngược lại theo đường cong giả-Hilbert .
Làm sáng tỏ
Để làm sáng tỏ, bạn sẽ bắt đầu với pixel ở góc trên bên trái và di chuyển sang phải cho đến khi bạn đến cạnh của hình ảnh. Khi bạn đã chạm vào cạnh của hình ảnh, bạn sẽ di chuyển xuống hàng tiếp theo và bắt đầu di chuyển sang trái cho đến khi bạn chạm vào cạnh một lần nữa. Bạn sẽ tiếp tục làm sáng tỏ hàng bằng cách chuyển đổi hướng mỗi lần để bạn có được một đường cong liên tục. Đây trông giống như một trò chơi rắn
Kết quả làm sáng tỏ phải là một thứ tự các pixel bao gồm mọi pixel chính xác một lần
Chạy lại
Khi bạn đã đặt hàng các pixel, bạn sẽ sắp xếp lại chúng trên một khung vẽ mới có kích thước tương đương theo đường cong của đường cong giả-Hilbert. Đối với một 2**n
hình ảnh vuông có kích thước, bạn nên sử dụng lần lặp thứ n của đường cong giả-hilbert. Mỗi pixel sẽ được đặt chính xác vào một vị trí trên khung vẽ mới. Bạn nên đọc lại hình ảnh để điểm ban đầu ở phía trên bên trái (điểm bắt đầu của đường cong con rắn của chúng ta) sẽ vẫn ở đó và điểm ở phía dưới bên phải (điểm cuối của đường cong con rắn của chúng ta) sẽ được đặt ở phía trên bên phải.
Tôi / O
Chương trình hoặc chức năng của bạn sẽ đưa vào một hình ảnh các ràng buộc được chỉ định thông qua các phương thức tiêu chuẩn và xuất ra một hình ảnh khác thông qua các phương thức tiêu chuẩn.
Chấm điểm
Đây là chương trình chơi gôn với ít byte nhất sẽ thắng.
Ví dụ
Đầu vào
Đầu ra
Đầu vào
Đầu ra
Đầu vào
Đầu ra
Tôi cũng khuyên bạn nên thử nghiệm trên một hình ảnh màu trắng hoặc màu trắng để đảm bảo bạn không thiếu bất kỳ pixel nào.
Hãy bao gồm kết quả của riêng bạn trong câu trả lời của bạn!