Các thách thức
Bạn phải viết một chương trình hoàn chỉnh lấy bảy số từ STDIN và in lịch sử hai chiều của máy tự động di động (CA) sang STDOUT. Đây là mã golf.
Định dạng đầu vào Đầu vào sẽ là bảy số nguyên / chuỗi được phân tách bằng dấu phẩy. Số đầu tiên là số của quy tắc theo mã Wolfram (tên tiêu chuẩn cho mỗi quy tắc). Thứ hai là cấu hình bắt đầu ban đầu. Phần thứ ba và thứ tư mô tả mẫu nào và số lần được thêm vào bên trái của cấu hình bắt đầu. như đệm. Thứ năm và thứ sáu làm tương tự cho phía bên phải. Số cuối cùng là số lượng thế hệ để chạy mô phỏng.
Vì vậy, một ví dụ về đầu vào là 90,11,0,4,0,4,5
. Điều này sẽ cho chương trình của bạn biết rằng bạn đang chạy quy tắc 90 . Nó cũng sẽ cho chương trình biết rằng bạn muốn cấu hình ban đầu 11
với chuỗi được 0
nối 4 lần vào cả hai đầu, vì vậy mẫu bắt đầu thực tế là 0000110000
. Nó cũng cho biết chương trình của bạn để chạy mô phỏng này trong 5 thế hệ.
Đầu ra Chương trình của bạn sẽ in toàn bộ mảng ô mỗi thế hệ (được phân tách bằng dòng mới), để đầu ra là sơ đồ không gian-thời gian của CA. Đối với mỗi thế hệ, trạng thái của mỗi ô được xác định bởi trạng thái của nó và trạng thái của các ô ở ngay bên trái và bên phải, theo quy tắc được cung cấp làm đầu vào. Các mô phỏng nên bao quanh các cạnh. Điều đầu tiên được in phải là mảng bắt đầu như gen. 0.
Đầu vào 90,11,0,4,0,4,5
phải dẫn đến đầu ra sau càng chính xác càng tốt.
0000110000
0001111000
0011001100
0111111110
1100000011
0110000110
Lưu ý rằng trạng thái bắt đầu không được bao gồm trong năm thế hệ. Cũng lưu ý rằng các mô phỏng kết thúc xung quanh các cạnh.
Thêm ví dụ
đầu vào:
184,1100,01,2,01,1,4
đầu ra:
0101110001
1011101000
0111010100
0110101010
0101010101
đầu vào:
0,1011,1,0,0,1,2
đầu ra:
10110
00000
00000
Thông tin thêm về cách thức hoạt động của CA 1D và cách chúng được đánh số