Một ngẫu nhiên vơ vét là một cách để thẻ xáo trộn nơi boong tàu được chia thành 2 phần tương đương và các bộ phận được nối lồng vào nhau thành từng nhóm nhỏ. Đây là cách xáo trộn xáo trộn một chuỗi:
- Chia chuỗi thành các phần bằng nhau.
- Đảo ngược các chuỗi và bắt đầu từ đầu của mỗi chuỗi.
- Đặt các bước chạy có độ dài ngẫu nhiên đồng đều giữa 1 và số ký tự còn lại trong chuỗi hiện tại vào chuỗi cuối cùng
- Sau đó loại bỏ các ký tự này khỏi chuỗi.
- Lặp lại cho nửa kia, cho đến khi cả hai nửa trống.
Một ví dụ
"Hello World!" Output string = ""
"Hello ", "World!" ""
"Hell", "World!" " o"
"Hell", "World" " o!"
"Hel", "World" " o!l"
"Hel", "Wo" " o!ldlr"
"H", "Wo" " o!ldlrle"
"H", "" " o!ldlrleoW"
"", "" " o!ldlrleoWH"
Sản phẩm cuối cùng Hello World!
có thể là o!ldlrleoWH
và đó là những gì bạn sẽ xuất ra.
Cảnh sát
Nhiệm vụ của bạn là tạo ra một chương trình (hoặc hàm) sẽ xáo trộn xáo trộn một chuỗi. Nếu chuỗi nhập vào có độ dài lẻ, chỉ cần chia chuỗi thành hai chuỗi có độ dài không đồng đều với độ dài tương đối +1
và +0
( abc => [ab, c] or [a, bc]
). Bạn có thể lấy đầu vào theo cách thông thường và sản xuất đầu ra theo cách thông thường.
Trình Cops của bạn sẽ bao gồm 4 điều
- Ngôn ngữ bạn đã sử dụng
- Độ dài chương trình của bạn tính bằng byte
- Chương trình của bạn, riffle xáo trộn.
- Bạn muốn thêm gì vào nữa không
Bạn đang cố gắng giữ cho mã của mình không bị Cướp bóc trong 7 ngày. Sau khoảng thời gian đó, chương trình của bạn an toàn và bạn nên chỉnh sửa trong chương trình gốc của mình. Trình của bạn vẫn có thể bị bẻ khóa cho đến khi bạn tiết lộ giải pháp của mình. Giải pháp ngắn nhất, an toàn sẽ là người chiến thắng!