Giới thiệu
Chúng tôi - đặc biệt là những người đam mê trong số chúng tôi, những người có xu hướng trở thành người hâm mộ - tất cả đều nhớ đến bộ phim hoạt hình Far Side cũ này :
Rõ ràng, Giáo sư Schwartzman có thể đã cải thiện các kỹ năng lập trình của mình chỉ một chút nữa trước khi ông đưa phát minh của mình vào sử dụng. Nhưng bạn có thể tự sao chép nó ... sử dụng càng ít byte càng tốt không?
Thông số kỹ thuật đầu vào
Bạn phải tạo một tập lệnh chuyển âm thanh của chó thành "Hey" có ngữ điệu phù hợp. Đây là golf mã thuần túy; số byte thấp nhất sẽ thắng.
Đầu vào của bạn sẽ bao gồm một số kết hợp các mã thông báo sau:
Bark,Baark,Baaark,Baaaark, ... (có nghĩa là,B*rkcó ít nhất 1athay thế các dấu hoa thị)Woof,Wooof,Woooof, ... (W*fvới ít nhất 2os thay thế các dấu hoa thị)Grr,Grrr,Grrrr, ..., (Gtiếp theo ít nhất 2rs)- Bất kỳ số ký tự (dấu chấm
.),!(dấu chấm than) và / hoặc?(dấu hỏi), có thể xuất hiện ở bất cứ đâu trong đầu vào
Lưu ý, một lần nữa, mã thông báo dựa trên Woofvà Grrdựa trên luôn yêu cầu ít nhất hai o s và rs tương ứng;Wofvà không phảiGr là mã thông báo hợp lệ.
Không có giới hạn về thời gian mã thông báo có thể tồn tại (ví dụ: có bao nhiêu lần lặp lại acó thể có trong Barkmã thông báo); tuy nhiên, bộ giải mã của bạn chỉ cần hoạt động chính xác cho các mã thông báo đầu vào có tối đa 10 tổng a, os hoặc rs để vượt qua thử thách này.
Thông số đầu ra
Trung thành với thiết kế của Schwartzman, chương trình giải mã răng nanh của bạn phải xử lý nó thành văn bản đầu ra như sau:
Bark,WoofVàGrrtrở thànhHey;Baark,WooofvàGrrrtrở thànhHeyy;Baaark,WoooofVàGrrrrtrở thànhHeyyy; v.v.- Đối với tất cả các
Barkmã thông báo dựa trên số lượng, sốys trong đầu raHeymã thông báo dựa trên phải bằng số lượngas; - Đối với tất cả các
Woofmã thông báo dựa trên tất cả , số lượngys trongHeymã thông báo dựa trên đầu ra phải nhỏ hơn một một số số lượngos; - Đối với tất cả các
Grrmã thông báo dựa trên tất cả , số lượngys trongHeymã thông báo dựa trên đầu ra phải nhỏ hơn một một số số lượngrs; - Tất cả các dấu câu (
.,!và?) được giữ nguyên.
Nhớ thả một cái ytừ đầu ra cho Woofs và Grrs! Đầu vào Baaaaaaaark?, với 8 agiây, sẽ trở thành Heyyyyyyyy?, với một bộ 8 ygiây phù hợp . Tuy nhiên, Woooooooof?chỉ trở thành Heyyyyyyy?, với 7 ys.
Một lần nữa, nếu bạn có thể khiến chương trình của mình hoạt động với mã thông báo đầu vào có kích thước không giới hạn, thì thật tuyệt, nhưng với mục đích của thử thách này, chương trình của bạn sẽ chỉ được kiểm tra để đảm bảo rằng chương trình hoạt động đúng với các mã thông báo đầu vào không quá 10 chữ cái lặp lại .
Tất cả các mã thông báo Bark-, Woof- và Grrdựa trên đầu vào của bạn được giả sử bắt đầu bằng chữ in hoa. Do đó, không cần phải xử lý biến Bark grrrthành Hey heyyhoặc bất cứ điều gì tương tự.
Ví dụ đầu vào và đầu ra
- Đầu vào:
Bark. Bark! Bark!! - Đầu ra:
Hey. Hey! Hey!!
- Đầu vào:
- Đầu vào:
Baaaaaark?(sáuagiây) - Đầu ra:
Heyyyyyy?(sáuygiây)
- Đầu vào:
- Đầu vào:
Grrrrrrrr...(támrgiây) - Đầu ra:
Heyyyyyyy...( bảyygiây)
- Đầu vào:
- Đầu vào:
?...! - Đầu ra:
?...!
- Đầu vào:
- Đầu vào:
Wooof Woof? Grrrr. Baaaark Grr! - Đầu ra:
Heyy Hey? Heyyy. Heyyyy Hey!
- Đầu vào:

