Dalam tantangan ini, tugas Anda adalah menemukan substring dengan struktur yang diberikan.
Memasukkan
Input Anda harus berupa dua string alfanumerik yang tidak kosong, pola p dan teks t . Idenya adalah bahwa masing-masing karakter pmewakili substring non-kosong yang berdekatan tyang terjadi di samping satu sama lain, dan pmewakili penggabungan mereka. Karakter identik sesuai dengan substring identik; misalnya, polanya aamewakili sembarang kotak kosong (string yang diperoleh dengan menggabungkan string yang lebih pendek ke dirinya sendiri). Dengan demikian polanya aadapat cocok dengan substring byebye, dengan setiap apencocokan bye.
Keluaran
Jika teks tberisi substring yang pcocok, maka output Anda harus substring itu, dengan titik dua :dimasukkan di antara string yang sesuai dengan karakter p. Sebagai contoh, jika kita memiliki t = byebyenowdan p = aa, maka bye:byemerupakan output yang dapat diterima. Mungkin ada beberapa pilihan untuk substring yang cocok, tetapi Anda hanya akan menghasilkan salah satunya.
Jika ttidak mengandung substring yang cocok, output Anda akan menjadi wajah sedih :(.
Aturan dan Klarifikasi
Karakter yang berbeda pdapat sesuai dengan substring yang identik, sehingga p = abadapat cocok dengan string AAA. Perhatikan bahwa karakter harus sesuai dengan string yang tidak kosong; khususnya, jika plebih lama dari t, output harus :(.
Anda dapat menulis program atau fungsi lengkap, dan Anda juga dapat mengubah urutan kedua input. Hitungan byte terendah menang, dan celah standar tidak diizinkan.
Uji Kasus
Diberikan dalam format pattern text -> output. Perhatikan bahwa output lain yang dapat diterima mungkin ada.
a Not -> N
aa Not -> :(
abcd Not -> :(
aaa rerere -> re:re:re
xx ABAAAB -> A:A
MMM ABABBAABBAABBA -> ABBA:ABBA:ABBA
x33x 10100110011001 -> 10:1001:1001:10
abcacb 0a00cca0aa0cc0ca0aa0c00c0aaa0c -> c:a0aa:0c:c:0c:a0aa
abccab 0a00cca0aa0cc0ca0aa0c00c0aaa0c -> a:a:0c0:0c0:a:a
abcbcab 0a00cca0aa0cc0ca0aa0c00c0aaa0c -> :(
abcbdcab 0a00cca0aa0cc0ca0aa0c00c0aaa0c -> 00:c:ca0aa0c:c:0:ca0aa0c:00:c
O(2^((n * (n + 1))/2)): P