Đầu vào:
Hai chuỗi không có dòng mới hoặc khoảng trắng.
Đầu ra:
Cả hai chuỗi đầu vào trên các dòng riêng biệt, với khoảng trắng khi cần thiết † cho một trong hai chuỗi. Và một dòng thứ ba với các nhân vật A
, R
, M
và , đại diện bổ sung , loại bỏ , sửa đổi , và không thay đổi .
† Chúng tôi thêm không gian để một trong hai đỉnh hoặc chuỗi đầu vào đáy (nếu chúng ta phải). Mục tiêu của thử thách này là đầu ra với số lượng thay đổi ít nhất (ARM
) ít nhất có thể, còn được gọi là khoảng cách Levenshtein .
Thí dụ:
Giả sử các chuỗi đầu vào là ABCDEF
và AFBECD
sau đó đầu ra sẽ là:
A B CDEF
AFBECD
A A RR
Dưới đây là một số kết quả đầu ra không hợp lệ khác có thể làm ví dụ (và còn nhiều hơn nữa):
ABCDEF
AFBECD
MMMMM
A BCDEF
AFBECD
A MMMR
AB CDEF
AFBECD
MAMMMR
ABC DEF
AFBECD
MMAMMR
ABC DEF
AFBECD
MMAA RR
ABCDEF
AFB ECD
MMR MA
AB CDEF // This doesn't make much sense,
AFBECD // but it's to show leading spaces are also allowed
AM A RR
Tuy nhiên, không ai trong số này chỉ có bốn thay đổi, vì vậy chỉ A B CDEF\nAFBECD \n A A RR
có một đầu ra hợp lệ cho thử thách này.
Quy tắc thử thách:
- Bạn có thể giả sử các chuỗi đầu vào sẽ không chứa bất kỳ dòng hoặc khoảng trắng mới nào.
- Hai chuỗi đầu vào có thể có độ dài khác nhau.
- Một trong hai chuỗi đầu vào vẫn giữ nguyên, ngoại trừ các khoảng trắng ở đầu / cuối tùy chọn.
- Nếu ngôn ngữ của bạn không hỗ trợ bất cứ điều gì ngoài ASCII, bạn có thể cho rằng đầu vào sẽ chỉ chứa các ký tự ASCII có thể in được.
- Các định dạng đầu vào và đầu ra là linh hoạt. Bạn có thể có ba Chuỗi riêng biệt, một chuỗi Chuỗi, một Chuỗi đơn với các dòng mới, mảng ký tự 2D, v.v.
- Bạn được phép sử dụng một cái gì đó khác thay vì
ARM
, nhưng nói rõ những gì bạn đã sử dụng (nghĩa là123
, hoặcabc.
, v.v.) - Nếu có nhiều hơn một đầu ra hợp lệ có thể có cùng số lượng thay đổi (
ARM
), bạn có thể chọn đầu ra một trong những đầu ra có thể hoặc tất cả các đầu ra có thể. Không gian hàng đầu và dấu là tùy chọn:
A B CDEF AFBECD A A RR
hoặc là
"A B CDEF\nAFBECD\n A A RR" ^ Note there are no spaces here
Quy tắc chung:
- Đây là môn đánh gôn , vì vậy câu trả lời ngắn nhất bằng byte thắng.
Đừng để ngôn ngữ mã-golf ngăn cản bạn đăng câu trả lời với các ngôn ngữ không mã hóa. Cố gắng đưa ra một câu trả lời càng ngắn càng tốt cho ngôn ngữ lập trình 'bất kỳ'. - Áp dụng quy tắc chuẩn cho câu trả lời của bạn, vì vậy bạn được phép sử dụng STDIN / STDOUT, các hàm / phương thức với các tham số thích hợp, các chương trình đầy đủ. Cuộc gọi của bạn.
- Lỗ hổng mặc định bị cấm.
- Nếu có thể, vui lòng thêm một liên kết với một bài kiểm tra cho mã của bạn.
- Ngoài ra, xin vui lòng thêm một lời giải thích nếu cần thiết.
Các trường hợp thử nghiệm:
In: "ABCDEF" & "AFBECD"
Output (4 changes):
A B CDEF
AFBECD
A A RR
In: "This_is_an_example_text" & "This_is_a_test_as_example"
Possible output (13 changes):
This_is_an _example_text
This_is_a_test_as_example
MAAAAAAA RRRRR
In: "AaAaABBbBBcCcCc" & "abcABCabcABC"
Possible output (10 changes):
AaAaABBbBBcCcCc
abcABCab cABC
R MM MMMR MM R
In: "intf(){longr=java.util.concurrent.ThreadLocalRandom.current().nextLong(10000000000L);returnr>0?r%2:2;}" & "intf(){intr=(int)(Math.random()*10);returnr>0?r%2:2;}"
Possible output (60 changes):
intf(){longr=java.util.concurrent.ThreadLocalRandom.current().nextLong(10000000000L);returnr>0?r%2:2;}
intf(){i ntr=( i n t)(M ath.r andom ()* 10 );returnr>0?r%2:2;}
MR M MRRRRRR RRRR RRRRRR MMMRR MMMMRRR RRRRRRRR MRRRRRRRRR RRRRRRRRRR
In: "ABCDEF" & "XABCDF"
Output (2 changes):
ABCDEF
XABCD F
A R
In: "abC" & "ABC"
Output (2 changes):
abC
ABC
MM