Anda ditugasi merencanakan rute penerbangan untuk perusahaan pengiriman pesawat lokal. Anda harus merutekan sebuah pesawat dari titik A ke titik B. Anda tidak bisa mulai dari A, arahkan pesawat ke B, dan pergi, bagaimanapun, karena angin yang berlaku akan membuat Anda keluar jalur. Alih-alih, Anda harus mencari tahu ke arah mana Anda harus mengarahkan pesawat sehingga akan terbang langsung ke B, dengan mempertimbangkan angin.
memasukkan
7 angka floating-point, pengkodean A_x, A_y, B_x, B_y, S, W_x, W_y. Ini adalah koordinat awal dan tujuan, kecepatan udara dari pesawat Anda, dan kekuatan angin di sepanjang x dan y sumbu (arah angin bertiup ke , tidak dari).
keluaran
Anda harus mencetak sudut dalam derajat (berputar berlawanan arah jarum jam dari sumbu x positif) yang harus ditunjukkan pesawat untuk mencapai B dalam garis lurus. Cetak GROUNDED
jika angin begitu kencang sehingga perjalanan menjadi tidak mungkin.
Anda dapat membulatkan ke tingkat terdekat, dan melakukannya dengan metode apa pun yang Anda inginkan (atas / bawah / terdekat / ...).
contoh
input
0 0 10 0 100 0 -50
0 0 10 0 50 -55 0
3.3 9.1 -2.7 1.1 95.0 8.8 1.7
output
30
GROUNDED
229
Kode terpendek menang.
a sin x + b cos x = c
di Google untuk beberapa metode penyelesaian persamaan Anda. Pemecahan langsung mungkin bukan cara terbaik untuk pergi ke sini, meskipun ...Jawaban:
J - 155 karakter
Sebagai contoh:
Hapus di
0".
depany
jika Anda tidak keberatan dengan sintaks numerik J (_
untuk negasi unary):Seperti yang saya sebutkan dalam jawaban Perl saya, saya hanya belajar J, tetapi menyukai kekuatannya.
sumber
Perl - 222 karakter
Algoritma Straighforward, dan benar-benar hanya bermain golf dengan menekan spasi putih dan panjang nama variabel, tapi saya pikir kami membutuhkan jawaban pertama di sini. Saya telah belajar beberapa J untuk bermain golf; Saya menduga hanya menerjemahkan ke J (atau Ruby) akan mudah mengalahkan ini. Pergi untuk mencobanya.
$X
= komponen crosswind,$T
= komponen penarik. Kita dihukum jika angin penarik sebenarnya angin haluan (yaitu, negatif) dan lebih kuat dari kecepatan udara kita. Kalau tidak,$C
adalah sudut koreksi angin yang kita kurangi dari jalur kita$c
untuk mendapatkan heading kita. Kita harus berbelok cukup jauh untuk menyeimbangkan crosswind dengan komponen lintas-jalur kecepatan kita.sumber
Perl: 193
Memang ini (sebagian besar) adalah kode Perl DCharness: tetapi siapa yang tidak suka sumber penulisan ulang sendiri?
Juga akan mengeluarkan derajat dari spesifikasi (yaitu <0 atau> 360), tetapi apakah saya menyebutkan sumber penulisan ulang sendiri?
sumber