Lý lịch
Đây là phần đầu tiên của một sân golf 3 lỗ về xử lý văn bản. Ý tưởng vượt trội là nếu bạn lấy một văn bản đầu vào và đưa nó qua các giải pháp cho cả ba thử thách (với một lượng nhỏ mã keo), nó sẽ tạo ra một đoạn được định dạng đẹp mắt. Trong thử thách đầu tiên này, nhiệm vụ của bạn là gạch nối một đoạn văn bản bằng cách sử dụng các mẫu gạch nối đã cho.
Đầu vào
Chương trình của bạn sẽ có hai đầu vào chuỗi: một đoạn văn bản và một danh sách các mẫu gạch nối. Đầu vào đầu tiên chỉ đơn giản là một chuỗi các khoảng trống và ký tự ASCII có thể in được; nó sẽ không chứa ngắt dòng hoặc dấu ngã ~
. Đầu vào thứ hai là một danh sách các từ được phân cách bằng dấu phẩy, bao gồm các âm tiết được phân tách bằng dấu ngã của các ký tự ASCII viết thường. Một ví dụ là ex~cel~lent,pro~gram~ming,abil~i~ties
.
Đầu ra
Chương trình của bạn sẽ sửa đổi đầu vào đầu tiên theo cách sau. Bất kỳ từ nào (chuỗi con tối đa của các ký tự ASCII theo thứ tự chữ cái) có phiên bản chữ thường được gạch nối được tìm thấy trong đầu vào thứ hai sẽ được thay thế bằng phiên bản có gạch nối đó, nhưng trường hợp của nó sẽ được giữ nguyên. Với danh sách ví dụ trên, nếu văn bản chứa từ đó Excellent
, nó sẽ được thay thế bằng Ex~cel~lent
; tuy nhiên, Excellently
sẽ không được sửa đổi. Đầu ra của bạn sẽ là chuỗi sửa đổi này.
Quy tắc chi tiết và chấm điểm
Bạn có thể giả sử như sau về các đầu vào:
- Đầu vào đầu tiên không chứa dấu ngã và không có khoảng trắng ở đầu, cuối hoặc lặp lại. Nó không trống rỗng.
- Đầu vào thứ hai chứa ít nhất một từ và mỗi từ trong đó chứa ít nhất hai âm tiết. Mỗi âm tiết là không trống.
- Đầu vào thứ hai không chứa một từ xuất hiện dưới dạng một âm tiết trong một từ khác.
Bạn có thể thay đổi thứ tự của hai đầu vào, nếu muốn và tùy ý thêm một dòng mới vào đầu ra.
Bạn có thể viết 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
Chúng được liệt kê trong định dạng 1st input [newline] 2nd input [newline] output
.
Excellent programming abilities, you work excellently!
ex~cel~lent,pro~gram~ming,abil~i~ties
Ex~cel~lent pro~gram~ming abil~i~ties, you work excellently!
Superman (sometimes incorrectly spelled "Super-man") is super #&%@ing strong.
su~per,some~times,in~cor~rectly,spell~ing
Superman (some~times in~cor~rectly spelled "Su~per-man") is su~per #&%@ing strong.
IncONsISTent caPItalizATIon!
in~con~sis~tent,cap~i~tal~iza~tion
In~cON~sIS~Tent caP~I~tal~izA~TIon!
Such short words.
awk~ward
Such short words.
Digits123 are456cool789.
dig~its,dig~i~tal,are~cool
Dig~its123 are456cool789.
magic magic
ma~gic
ma~gic ma~gic
Bất kỳ lỗi gạch nối có thể có trong thử thách này là do công cụ gạch nối này .
#programming!
vẫn sẽ bị ảnh hưởng bởi đầu vào thứ hai của pro~gram~ming
)? Các số cũng không được tính (tức là chỉ cho phép các ký tự chữ cái)?