Dalam satu file, tulis sebuah program yang tidak memerlukan input dan tidak menghasilkan output. Ketika menjalankannya harus membalikkan nama file yang terkandung di dalamnya, terlepas dari apa namanya , tanpa mengubah kode atau menghasilkan efek samping yang bertahan lama.
Cara apa pun untuk mencapai ini baik-baik saja. Yang penting adalah bahwa begitu program dijalankan, satu-satunya perubahan yang bertahan lama adalah bahwa nama filenya telah dibalik. misalnya tidak ada file baru di direktori.
Menjalankan program lagi harus membalikkan nama kembali. Memang, program harus dapat dijalankan secara sewenang-wenang berkali-kali.
Untuk keperluan tantangan ini:
- Anda dapat menganggap nama file selalu terdiri dari huruf kecil (az) dengan panjang antara 1 dan 127 karakter. (Jika bahasa Anda memerlukan file untuk menjalankan ekstensi, balikkan saja bagian sebelum ekstensi, mis .
mycode.bat
→edocym.bat
.) - Anda dapat menganggap file kode berada dalam direktori dengan sendirinya sehingga tidak akan ada konflik penamaan (kecuali dengan dirinya sendiri).
- Anda mungkin tidak menganggap nama file bukan palindrom, yaitu sama ketika terbalik. Nama file yang merupakan palindrom harus bekerja sama baiknya dengan yang tidak.
- Anda dapat membaca konten atau metadata file Anda. Tidak ada batasan quine di sini.
- Anda dapat mengasumsikan program Anda akan dijalankan pada sistem operasi tertentu, modern, dan umum (misalnya Windows / Linux), karena tidak semua shell memiliki set perintah yang sama.
Sebagai contoh konkret, katakan Anda memiliki program Python dalam file yang disebut
mycode
di direktori sendiri. Laripython mycode
di terminal harus menghasilkan nama file yang dibalik
edocym
. File tersebutedocym
harus sendirian di direktori - tidak ada file bernamamycode
harus ada lagi. Laripython edocym
akan membalikkan nama kembali ke
mycode
, di mana titik proses dapat diulang tanpa batas waktu.Jika file Python yang sama diganti namanya
racecar
(tanpa mengubah kode) dan kemudian jalankanpython racecar
tidak ada yang terlihat berubah karena "mobil balap" adalah palindrom. Hal yang sama berlaku jika nama file itu, katakanlah,
a
atauxx
.
Kode terpendek dalam byte menang. Tiebreaker adalah jawaban dengan suara lebih tinggi.