Kurva adalah seperangkat titik pada kotak persegi sedemikian rupa sehingga setiap titik memiliki tepat dua tetangga di lingkungan empat tetangga dan titik tersebut membentuk komponen yang terhubung tunggal. Yaitu, grafik yang diinduksi oleh titik-titik pada grafik kotak adalah isomorfik untuk satu siklus tunggal. "Diinduksi" berarti bahwa dua titik tidak dapat menyentuh input tanpa menjadi tetangga dalam siklus.
Antipode dari vertex V dalam grafik adalah vertex terjauh dari V. Antipode selalu unik pada siklus panjang genap (dan setiap siklus pada grafik kotak adalah panjang gelombang genap). Jarak harus diukur sebagaimana diinduksi oleh siklus itu sendiri tanpa menghormati grid persegi yang mendasarinya.
Masukan Anda harus berupa gambar kurva. Kurva akan ditandai dengan urutan karakter tanda angka ( #
) pada latar belakang karakter spasi ( ). Salah satu titik pada kurva akan ditandai dengan
P
karakter ("pode"). Output Anda harus sama dengan input kecuali satu titik kurva harus diganti dengan A
("antipode").
Anda mungkin menganggap karakter akan diisi ke bentuk persegi panjang. Anda dapat mengasumsikan baris pertama dan terakhir dan kolom input akan seluruhnya terdiri dari spasi (input diisi dengan latar belakang). Atau Anda dapat mengasumsikan bahwa baris dan kolom pertama dan terakhir masing-masing akan berisi titik kurva (input memiliki padding minimum).
Anda dapat memasukkan dan menampilkan kisi ini sebagai string yang dipisahkan oleh baris baru, sebagai larik baris, atau sebagai larik 2D karakter individu. Pilihan ini harus sama untuk input dan output. Jika bahasa Anda memungkinkan ini, Anda dapat menampilkan dengan memodifikasi input di tempat alih-alih mengembalikan string atau array yang dimodifikasi.
Input yang mungkin:
P# P## #P# ##### #####P# ####### #####P######### #####P#########
## # # # # # # # # # # # # # #
### ### ## ## # ### # # ### # # ### ### ### # # #
### # # ### # # # # # # # # # # # # # # # # # #
# P# ### ### # ### # # # ### ### # # # # ### ### # # # #
## # # ### # # # # # # # # # # # # #
# # P # ##### P # ########### # # ##### ##### # # #
### ####### ### # # # # # # # #
############### ####### ####### ###############
Output yang sesuai:
P# P## #P# #A### #####P# #A##### #####P######### #####P#########
#A # # # # # # # # # # # # # #
##A #A# ## ## # ### # # ### # # ### ### ### # # #
### # # ### # # # # # # # # # # # # A # # # # #
# P# ### ##A # ### # # # ### ### # # # # ### ### # # # #
## # # ### # # # # # # # # # # # # #
A # P # ##### P # ########### # # ##### ##### # # #
### ####### ### # # # # # # # #
############### ####### ####### #########A#####
Jarak vertex dari podes (modulo 10) (jangan output ini):
P1 P12 1P1 5A543 54321P1 9A98765 54321P123456789 54321P123456789
1A 1 3 2 2 4 2 6 2 8 4 6 0 6 0
23A 3A3 32 01 7 109 3 7 109 3 7 901 789 543 1 7 1
321 1 9 543 8 2 8 4 6 2 8 2 8 8 2 6 A 6 2 2 8 2
4 P1 234 89A 0 876 2 9 3 765 543 7 1 9 7 345 987 1 3 9 3
56 2 1 567 9 9 1 0 4 6 0 0 6 0 4 0 4
A 3 P 8 87654 P 1 56789012345 9 1 54321 56789 5 1 5
654 1234567 321 2 8 2 0 4 6 2 6
345678901234567 3456789 3210987 345678901A10987