Thử thách của bạn là viết một chương trình dịch (tiếng Anh) leetspeak / lolspeak / txtspk sang tiếng Anh thông thường. Chương trình của bạn nên đọc từ đầu vào tiêu chuẩn và đầu ra sang đầu ra tiêu chuẩn, trừ khi ngôn ngữ của bạn không hỗ trợ những thứ này.
Bạn có thể sử dụng một tệp chứa danh sách các từ trong tiếng Anh, được phân tách bằng các dòng mới. Nó sẽ được gọi W
và sẽ nằm trong cùng thư mục với chương trình của bạn. (Trên các hệ thống GNU / Linux và có thể các hệ thống khác, bạn có thể tạo W
liên kết đến /usr/share/dict/words
) Danh sách không nhất thiết phải là chữ thường, bạn có thể sử dụng nó để xác định xem các từ có nên viết hoa hay không.
Điều này dựa trên một câu hỏi đã bị xóa bởi Nikos M. có thể được tìm thấy ở đây . Đây không phải là một bản sao vì câu hỏi ban đầu này đã bị đóng và không nhận được bất kỳ câu trả lời nào, vì không có tiêu chí chiến thắng và người dùng không sẵn lòng đặt câu hỏi.
Chấm điểm
Việc ghi bàn hơi phức tạp!
Điểm của bạn là
(leet items + bonuses) * 10 / (code length)
Điểm số cao nhất chiến thắng.
Chương trình của bạn không cần phải có và không thể hoàn hảo, nhưng càng chính xác, nó càng nhận được nhiều tiền thưởng!
Vì $
có thể có nghĩa là cả hai s
và S
, bạn nhận được tiền thưởng 5 điểm cho mỗi mục leet để quyết định xem nó có nên viết hoa hay không (tức là chữ in hoa khi bắt đầu câu).
Bạn nhận được thêm 5 điểm cho mỗi mục leet để triển khai các danh từ riêng (các từ luôn có chữ viết hoa) - cách thức hoạt động này là bạn sẽ xem qua danh sách từ, tạo đầu ra viết hoa nếu chỉ có phiên bản viết hoa trong danh sách, và nếu cả hai phiên bản đều ở đó, chỉ cần đoán.
Nếu một ký tự có hai nghĩa (ví dụ 1
có thể có nghĩa L
hoặc I
), bạn nhận được 20 điểm cho mỗi mục leet chỉ để chọn các bản dịch của mục tạo ra các từ tiếng Anh thực sự - sử dụng danh sách từ cho việc này. Nếu nhiều bản dịch của một mục leet tạo ra một từ tiếng Anh thực sự, bạn có thể tùy ý chọn một trong các bản dịch hợp lệ và vẫn nhận được tiền thưởng.
Danh sách Leet
Đây là những mục leet mà bạn có thể thực hiện. Bạn không cần phải thực hiện tất cả chúng, nhưng bạn càng thêm, bạn càng nhận được nhiều điểm.
Bạn không bao giờ có thể ghi điểm bằng cách dịch một mục hoặc ký tự cho chính nó. Quy tắc này ghi đè bất kỳ sai lầm nào tôi có thể đã mắc phải trong danh sách.
Thật hấp dẫn để làm một cách đơn giản tr
hoặc s/.../.../g
. Thách thức thực sự là xác định nghĩa nào trong số nhiều nghĩa có thể và không thể đúng, sử dụng danh sách từ.
Mục Leet (mỗi mục này thêm 1 leet items
vào công thức)
$ -> s, S (-> c, C 5 -> s, S @ -> a, A 4 -> a, A 3 -> e, E 7 -> t, T + -> t, T # -> h, H teh -> 'd -> ed pwnd -> pwned pwnt -> pwned k, K -> OK kk -> OK 0 [không] -> o, O y, Y -> tại sao 4 -> cho txt -> văn bản dafuq -> những gì f ** k / \, ^ -> a, A \ / -> v, V d00d -> anh chàng n00b -> người mới \ / \ / -> w, W 8 -> b, B | _ | -> u, bạn | - | -> h, H Я -> r, R j00 -> bạn joo -> bạn vv, VV -> w, W tomoz -> ngày mai | <-> k, K [), |) -> d, D <3 -> tình yêu > <-> x, X 10100111001 -> leet (đại diện nhị phân của 1337) 2 -> cũng vậy ur, UR -> của bạn, bạn (không cần phân biệt chính xác giữa hai) bạn, bạn - bạn 8 -> -ate-, 8 x, X -> -ks -, - cks- z, Z -> s, S 1 -> i, tôi, l, L ! -> tôi, tôi ,! c, C -> thấy, C, biển b, B -> được, B, ong [thư có dấu] -> [mẫu không có dấu] (điểm 1 cho mỗi chữ có dấu được hỗ trợ) &, 7 -> và, anned, ant (có thể được sử dụng ở giữa một từ)
"Leet" khó hơn: ghi 30 điểm cho leet items
mỗi
!!! 1 !! 1-> !!!!!!! (dịch 1 giây theo thứ tự! 's thành!') !!! một! -> !!!!! ! mười một-> !!!
Ví dụ
Đây là những ví dụ về những gì một chương trình thực hiện tất cả các ký tự leet ở trên và một số phần thưởng, có thể có thể làm:
Ví dụ câu: |-|3 15 $|_|(# @ n00b
=He is such a newbie
Kiểm duyệt dựa trên Leet: $#!+
=s**t
Cực lớn: \/\/ 1 |< 1 P 3 [) 1 A
=Wikipedia
hậu tố -xor: H4X0R
=hacker
Leet cực đoan hơn: @1\/\/4Y5 p0$+ ur n3VV qu35710nz 1n teh $&80x
=Always post your new questions in the sandbox
Ví dụ chấm điểm
Bash, 10 ký tự, 3 vật phẩm, không có tiền thưởng:
tr 137 let
Điểm này ( 1 * 3 ) * 10 / 10 = 3
.
tr
hoặc s/.../.../g
. Chỉ cần dịch những thứ như thế sẽ tạo ra một thách thức nhàm chán, vì vậy chúng tôi cần thưởng cho những bản dịch tốt hơn sử dụng danh sách từ
sed
kịch bản.)
sed
tập lệnh, tôi muốn nói nhiều hơn là s/.../.../g
một tập tin đơn giản , nhưng nó được phân tích cú pháp và tự thực thi sed
. Nói ngắn gọn như ngôn ngữ, nó có thể là một ngôn ngữ có thể chơi golf đàng hoàng ...
sed
các tập lệnh cũng tốt và có thể rất thú vị, chúng có thể làm rất tốt điều này do cú pháp thay thế ngắn, bạn có thể đọc từ danh sách từ, với các phần mở rộng GNU hoặc bằng cách sử dụng sed
như một phần của chương trình Bash lớn hơn