Koordinat di dunia flat-Earth terdiri dari garis lintang (x) dan garis bujur (y), yang merupakan bilangan bulat dalam kisaran 0 ... 9999. Sama seperti bilangan bulat Gaussian , tetapi selalu ditulis menggunakan notasi ini:
411S 370E
Yaitu, dengan S
atau N
ditambahkan ke garis lintang, dan E
atau W
ditambahkan ke garis bujur, dengan spasi di antara dua komponen.
Tujuan
Tulis program (bukan fungsi) yang membaca dua koordinat, dipisahkan oleh spasi, dan hasilkan jumlahnya. Koordinat pertama adalah titik awal, yang kedua adalah perpindahan, dan output adalah posisi yang dihasilkan.
Input output
Karena tantangan ini sebagian tentang pemformatan, saya akan mencoba menentukan format input dan output secara jelas.
Format input yang disukai memiliki 1 ruang antara komponen koordinat, tanpa nol di depan, dan karakter baris baru di antara dua koordinat. Program harus dapat membaca format yang diinginkan.
Outputnya dapat berisi jumlah spasi putih dan angka nol di depan. Jika berbeda dari format input yang disukai, program harus dapat membaca format ini juga.
Hanya untuk memperjelas, input tidak dapat (tidak akan) berisi karakter pemformatan tambahan. Cukup spasi dan baris baru jika diperlukan.
Mencetak gol
Ini adalah percobaan pada kondisi kemenangan baru. Saya akan memilih pemenang dengan menerima jawaban dalam beberapa minggu. Jika jawaban yang lebih baik muncul setelah itu, saya akan mengubah jawaban yang diterima.
Nilai untuk program ini adalah jumlah byte-nya. Program yang menang adalah yang lebih pendek dari 400 byte, memiliki jumlah byte paling sedikit, tetapi ditulis dalam bahasa pemrograman paling verbose . Untuk menentukan pemenang:
- Hapus program dengan jumlah byte 400 atau lebih (mereka dapat berpartisipasi tetapi tidak dapat menang)
- Pertimbangkan hanya program terpendek untuk setiap bahasa pemrograman
- Program terlama menang
Polyglots bersaing dengan program dalam semua bahasa yang valid (mis. Jika suatu program valid dalam keduanya bash
dan sh
, ia bersaing dengan program dalam kedua bahasa).
Uji kasus
Dalam kasus uji, dua baris pertama adalah input, dan baris ketiga adalah output.
0S 0E
0S 0W
0N 0E
(arah nol tidak masalah, baik dalam input maupun output)
0S 9999E
9999N 9999W
9999N 0E
(nilai maksimal)
42S 314W
42N 2718W
0N 3032W
(arah nol tidak masalah dalam output)
5555N 8888W
7777S 0E
2222S 8888W
(tidak ada nilai negatif; ubah arah jika Anda perlu mengubah tanda)
0001N 4545W
0999N 5454W
1000N 9999W
(jika program menghasilkan angka nol di depan dan beberapa spasi, ia harus bisa membacanya; ia juga harus bisa membaca input yang tidak mengandungnya)
8888N 8888W
9999N 9999W
(input tidak valid - perilaku apa pun dapat diterima, termasuk crash dan infinite loop)