Suatu kegiatan yang kadang-kadang saya lakukan ketika saya bosan adalah menulis beberapa karakter berpasangan. Saya kemudian menggambar garis (di atas tidak pernah di bawah) untuk menghubungkan karakter ini. Sebagai contoh saya dapat menulis dan kemudian saya akan menggambar garis sebagai:
Atau saya mungkin menulis
Setelah saya menggambar garis-garis ini, saya mencoba menggambar loop tertutup di sekitar potongan sehingga loop saya tidak memotong garis yang saya gambar. Sebagai contoh, pada yang pertama, satu-satunya loop yang dapat kita gambar ada di sekitar semuanya, tetapi pada yang kedua kita bisa menggambar lingkaran di sekitar hanya s (atau yang lainnya)
Jika kita bermain-main dengan ini sebentar, kita akan menemukan bahwa beberapa string hanya dapat ditarik sehingga loop tertutup berisi semua atau tidak ada huruf (seperti contoh pertama kami). Kami akan menyebut string tersebut sebagai string yang terhubung dengan baik.
Perhatikan bahwa beberapa string dapat ditarik dengan berbagai cara. Misalnya dapat ditarik dalam dua cara berikut (dan yang ketiga tidak termasuk):
Jika salah satu dari cara-cara ini dapat digambar sedemikian sehingga loop tertutup dapat dibuat untuk mengandung beberapa karakter tanpa memotong salah satu garis, maka string tidak terhubung dengan baik. (jadi tidak terhubung dengan baik)
Tugas
Tugas Anda adalah menulis sebuah program untuk mengidentifikasi string yang terhubung dengan baik. Input Anda akan terdiri dari string di mana setiap karakter muncul beberapa kali, dan output Anda harus menjadi salah satu dari dua nilai konsisten yang berbeda, satu jika string terhubung dengan baik dan yang lainnya sebaliknya.
Selain itu, program Anda harus memiliki makna string yang tertaut dengan baik
Setiap karakter muncul beberapa kali dalam program Anda.
Itu harus menampilkan nilai kebenaran ketika melewati itu sendiri.
Program Anda harus dapat menghasilkan output yang benar untuk string apa pun yang terdiri dari karakter dari ASCII yang dapat dicetak atau program Anda sendiri. Dengan setiap karakter muncul beberapa kali.
Jawaban akan dinilai sebagai panjangnya dalam byte dengan lebih sedikit byte menjadi skor yang lebih baik.
Petunjuk
Sebuah string tidak terhubung dengan baik jika ada substring ketat yang tidak kosong yang berdekatan sehingga setiap karakter muncul beberapa kali dalam substring tersebut.
Uji Kasus
abcbac -> True
abbcac -> False
bbbb -> False
abacbc -> True
abcbabcb -> True
abcbca -> False
there
.
abcbca -> False
.