Lý lịch
Đây là sự tiếp nối của thử thách trước đây của tôi , trong đó nhiệm vụ là tính toán hình dạng của một tác phẩm điêu khắc thu được bằng cách thả nam châm vào một đống lớn.
Tin tốt: nghệ sĩ lập dị thích công việc của bạn, và có một dự án khác cho bạn. Ông vẫn làm việc với các tác phẩm điêu khắc từ tính, nhưng đã quyết định mở rộng studio nghệ thuật của mình - vào không gian ! Phương pháp hiện tại của anh là bắn một nam châm hình khối đơn vào quỹ đạo và bắn các nam châm khác vào nó để tạo ra một vệ tinh từ tính khổng lồ.
Đầu vào
Đầu vào của bạn là một danh sách hữu hạn của 0
s và 1
s, được đưa ra ở định dạng danh sách gốc của ngôn ngữ của bạn hoặc một chuỗi. Nó được hiểu là một "bản thiết kế" của một tác phẩm nghệ thuật và được xử lý theo thứ tự từ trái sang phải như sau.
Bạn bắt đầu với một nam châm đơn trôi nổi tại một số tọa độ nguyên của mặt phẳng 2D và tiếp tục thêm nhiều nam châm theo chỉ thị. Lệnh này 0
xoay toàn bộ tác phẩm điêu khắc 90 độ theo hướng ngược chiều kim đồng hồ. Trong trường hợp của chỉ thị 1
, nghệ sĩ tìm thấy cột ngoài cùng bên trái của tác phẩm điêu khắc và bắn một nam châm mới vào nó từ bên dưới. Nam châm mới dính vào nam châm tồn tại dưới cùng trong cột và trở thành một phần của tác phẩm điêu khắc. Lưu ý rằng nam châm không dính vào các nam châm khác trong cột lân cận, không giống như trong thử thách trước đó; tốc độ của nó bây giờ là thiên văn!
Đầu ra
Nghệ sĩ muốn biết liệu tác phẩm điêu khắc hoàn chỉnh có phù hợp với nhà để xe của anh ấy không (làm thế nào anh ấy sẽ đưa nó xuống từ quỹ đạo vẫn chưa rõ ràng). Do đó, đầu ra của bạn là chiều rộng và chiều cao của tác phẩm điêu khắc, được sắp xếp từ thấp hơn đến cao hơn. Chúng có thể được cung cấp dưới dạng danh sách hai thành phần, cặp hoặc chuỗi được phân tách bằng dấu phẩy.
Thí dụ
Xem xét chuỗi đầu vào
[1,0,1,1,0,1,0,0,1,1]
Để xử lý nó, chúng tôi bắt đầu với một nam châm trôi nổi trong không gian:
#
Lệnh đầu tiên là 1
, vì vậy chúng tôi bắn một nam châm mới từ bên dưới:
#
#
Lệnh tiếp theo là 0
, vì vậy chúng tôi xoay tác phẩm điêu khắc:
##
Hai chỉ thị tiếp theo là 1,1
, có nghĩa là chúng ta sẽ bắn hai nam châm vào cột ngoài cùng bên trái:
##
#
#
Sau đó, chúng tôi xoay một lần nữa và bắn một lần, theo chỉ dẫn của 0,1
:
#
###
#
Cuối cùng, chúng tôi xoay hai lần và bắn hai lần:
#
###
# #
#
Các tác phẩm điêu khắc kết quả có chiều rộng 3
và chiều cao 4
, vì vậy chúng tôi đầu ra [3,4]
.
Quy tắc
Bạn có thể cung cấp một chức năng hoặc một chương trình đầy đủ. Số byte thấp nhất sẽ thắng và các sơ hở tiêu chuẩn không được phép.
Các trường hợp thử nghiệm
[1,0,1] -> [2,2]
[1,0,1,1,0,1,0,0,1,1] -> [3,4]
[1,1,0,1,1,0,1,0,1,1] -> [4,5]
[1,1,0,1,1,0,1,0,1,1,0] -> [4,5]
[1,0,1,0,0,0,1,1,0,0,0,1,1,0,0,0,1,1] -> [3,3]
[0,1,0,1,1,1,1,0,0,1,0,1,0,0,1,1,0,1,0,1,0,0,1,1,0,1,0,0,0,0,1,0,1,0,1,1,0,0,1,1] -> [5,7]
[1,0,1,1,1,1,0,1,0,0,0,0,1,1,1,0,1,1,0,1,0,1,0,0,0,0,0,0,1,1,0,1,0,1,1,1,1,0,1,1,0,0,1,1,1,1,0,0,0,0,1,1,0,0,1,1,0,1,0,0,1,1,0,1,1,0,0,1,0,1,0,0,1,0,1,1,1,0,1,1,0,0,1,0,1,1,0,0,0,1,0,1,1,0,0,1,0,1,1,0] -> [11,12]
[1,1,0,1,1,0,1,0,1,1,0]
quay lại[5,4]
và không[4,5]
? Các tác phẩm điêu khắc được xoay ở cuối.