Xin chúc mừng Dennis , người đã chiến thắng cả thử thách của cảnh sát và tên cướp! Sở thích của Calvin đã thực hiện đúng lời hứa của mình và đã viết thử thách này cho Dennis vì đã chiến thắng thử thách của bọn cướp.
Lưu ý: Thử thách này đã kết thúc đối với các câu trả lời của cảnh sát tiếp theo kể từ 2015-09-01 02:00:00 UTC. Bất kỳ câu trả lời mới nào được đăng sẽ không đủ điều kiện để giành chiến thắng và sẽ không được tính vào điểm số của kẻ cướp nếu bị bẻ khóa. Tuy nhiên, bạn vẫn có thể đăng câu trả lời mới cho sự thích thú của người dùng khác, do đó vẫn còn một số câu đố có sẵn cho khách truy cập trong tương lai. Những câu trả lời mới này được bao gồm trong phần "Cảnh sát dễ bị tổn thương" của bảng xếp hạng và trạng thái không cạnh tranh của chúng được đánh dấu riêng.
Chào mừng bạn đến với phiên bản Cops-and-Robbers của The Hello World Quiz ! (Nếu bạn chưa bao giờ chơi bài kiểm tra, vui lòng thử trong một phút hoặc 30. Mặc dù vậy, bạn không cần phải chơi thử thách này.)
Thử thách của cảnh sát
- Chọn một ngôn ngữ lập trình. Các ngôn ngữ hợp lệ phải có bài viết Wikipedia tiếng Anh , bài viết esolang hoặc bài viết về Rosetta Code tại thời điểm thử thách này được đăng (lưu ý rằng các danh sách được liên kết không nhất thiết phải hoàn thành vì chúng được quản lý theo cách thủ công). Họ cũng phải đáp ứng các tiêu chuẩn thông thường của chúng tôi cho các ngôn ngữ lập trình , vì vậy những thứ như HQ9 + đã bị loại bỏ. Cuối cùng, phải có trình thông dịch hoặc trình biên dịch miễn phí (như trong bia) cho ngôn ngữ (tại thời điểm thử thách này được đăng).
Viết chương trình Hello World. Đó là, viết một chương trình đầy đủ bằng ngôn ngữ đã chọn in
Hello, World!
(chính xác như thế, tức là luồng byte chính xác này) và tùy chọn một dòng mới duy nhất đến STDOUT hoặc thay thế gần nhất.Bạn không được giả sử môi trường REPL, mã soạn sẵn hiện có hoặc cờ trình biên dịch / trình thông dịch không chuẩn. Chương trình phải ở dạng một hoặc nhiều tệp nguồn (để loại trừ các ngôn ngữ kỳ quặc như Thư mục ) và phải phù hợp với câu trả lời của bạn đầy đủ (vì vậy không được dài hơn 30.000 ký tự) - đây không phải là vấn đề đối với bất kỳ đệ trình nghiêm túc.
Nếu mã của bạn chứa các byte nằm ngoài phạm vi ASCII có thể in được, vui lòng bao gồm một kết xuất pastebin hoặc hex để đảm bảo mã của bạn thực sự có thể kiểm tra được.
Chương trình phải chấm dứt trong vòng 1 phút trên máy tính để bàn thông thường.
Đó là nó. Điều hấp dẫn là bạn muốn làm xáo trộn mã của mình sao cho không rõ ngôn ngữ bạn đã chọn. Cũng lưu ý rằng bạn không muốn mã của mình vô tình trở thành một chương trình Hello World hợp lệ bằng bất kỳ ngôn ngữ nào khác, mặc dù tôi hy vọng rằng điều đó khó có thể xảy ra đối với các chương trình bị che khuất đủ.
Trong mọi trường hợp, bạn không được chỉnh sửa mã nguồn của bài đăng của mình sau khi đăng (vì điều này có thể làm mất hiệu lực các nỗ lực tích cực của kẻ cướp trong việc bẻ khóa câu trả lời của bạn). Vì vậy, hãy chắc chắn rằng bạn chơi golf tốt như bạn có thể (hoặc dám) trước khi đăng. Nếu bạn nhận ra rằng câu trả lời của bạn không hoạt động sau khi đăng nó, chỉ cần xóa câu trả lời của bạn và đăng một phiên bản cố định nếu bạn muốn.
Nếu không ai tìm thấy ngôn ngữ mà mã của bạn có hiệu lực trong 7 ngày, bạn có thể tiết lộ ngôn ngữ đã chọn (lý tưởng với lời giải thích cho mã bị xáo trộn của bạn), điều này sẽ giúp câu trả lời của bạn an toàn . Lưu ý rằng trình của bạn vẫn có thể bị bẻ khóa cho đến khi bạn tiết lộ ngôn ngữ.
Đệ trình an toàn ngắn nhất (tính bằng byte) sẽ thắng.
Định dạng
(Vui lòng bỏ qua phần này và đọc Thử thách của kẻ cướp nếu bạn không có kế hoạch tham gia làm cảnh sát ngay bây giờ.)
Ở dưới cùng của bài đăng này, bạn sẽ tìm thấy một Đoạn trích đoạn tạo ra bảng thành tích cũng như một danh sách các bài nộp vẫn có thể bị bẻ khóa. Để đoạn mã hoạt động, điều quan trọng là bạn phải bao gồm một tiêu đề nhất định trong câu trả lời của mình:
Câu trả lời mới phải bao gồm một tiêu đề như
# ???, [N] bytes
nơi
[N]
là kích thước của mã của bạn trong byte và???
sẽ xuất hiện theo nghĩa đen.Nếu câu trả lời không bị bẻ khóa trong 7 ngày và bạn muốn làm cho câu trả lời của mình an toàn bằng cách tiết lộ ngôn ngữ, chỉ cần thay thế
???
, ví dụ:# Ruby, [N] bytes
Vui lòng có liên kết tên ngôn ngữ đến một trang web có liên quan như trang esolangs hoặc kho lưu trữ GitHub. Liên kết sau đó sẽ được hiển thị trong bảng thành tích.
Nếu người dùng khác bẻ khóa thành công bài đăng của bạn (xem bên dưới), vui lòng thêm ngôn ngữ, cùng với thông báo như
# Ruby, [N] bytes, cracked by [user]
nơi
[user]
là tên của người dùng gửi các vết nứt hợp lệ đầu tiên. Nếu ngôn ngữ được sử dụng trong crack khác với ngôn ngữ bạn dự định, tôi khuyên bạn nên sử dụng phỏng đoán của tên cướp và đề cập trong câu trả lời mà bạn dự định là ngôn ngữ khác. Hãy đặt tên người dùng một liên kết đến trang hồ sơ của họ.
Thử thách của bọn cướp
- Tìm một câu trả lời dễ bị tổn thương. Đó là một câu trả lời, chưa được bẻ khóa và chưa an toàn .
Crack nó bằng cách tìm ra ngôn ngữ của nó. Đó là, tìm bất kỳ ngôn ngữ nào trong đó chương trình đã cho là chương trình Hello World hợp lệ (tuân theo các quy tắc được nêu trong Thử thách của cảnh sát ở trên). Không thành vấn đề nếu đây là ngôn ngữ mà cảnh sát dự định.
Nếu bạn đã tìm thấy một ngôn ngữ như vậy, hãy để lại nhận xét với tên của ngôn ngữ đó. Nếu có thể, bạn nên bao gồm một liên kết đến một trình thông dịch trực tuyến, cho thấy rằng mã thực sự hoạt động trong ngôn ngữ đó theo yêu cầu.
Mỗi người dùng chỉ được một lần đoán cho mỗi câu trả lời. Bạn không được bẻ khóa câu trả lời của riêng bạn (rõ ràng ...).
Người dùng bẻ khóa số lượng câu trả lời lớn nhất sẽ chiến thắng thử thách của bọn cướp. Ties bị phá vỡ bởi tổng số byte của câu trả lời bị bẻ khóa (nhiều hơn là tốt hơn).
Bởi vì thách thức của bọn cướp chỉ được tổ chức trong các bình luận, sẽ không có bất kỳ động cơ danh tiếng nào cho bọn cướp. Tuy nhiên, Grand Master of Challenge Writing, Sở thích của Calvin , đã đề nghị viết một thử thách về người dùng chiến thắng thử thách của bọn cướp!
Bảng điều khiển thử thách
Đoạn trích dưới đây tạo bảng xếp hạng cho cảnh sát và tên cướp và cũng sẽ liệt kê tất cả các câu trả lời vẫn có thể bị bẻ khóa. Hãy cho tôi biết nếu có bất cứ điều gì dường như không hoạt động đúng, và tôi sẽ cố gắng khắc phục nó càng sớm càng tốt. Nếu bạn có thể nghĩ về các tính năng bổ sung sẽ làm cho bảng điều khiển hữu ích hơn, hãy để lại nhận xét.