Menggunakan bahasa pemrograman apa pun yang mendukung fungsi, miliki fungsi tersebut
is_enough(strArr)
take strArryang akan menjadi array yang terdiri dari elemen-elemen berikut:
Nyang akan menjadi jumlah pompa bensin dalam rute melingkar- dan setiap elemen selanjutnya akan menjadi string di
g:cmanagadalah jumlah gas dalam galon di pompa bensin itu dancakan menjadi jumlah galon gas yang dibutuhkan untuk sampai ke pompa bensin berikut.
Misalnya strArrmungkin:
["4","3:1","2:2","1:2","0:1"].
Tujuan Anda adalah mengembalikan indeks pompa bensin awal yang akan memungkinkan Anda untuk melakukan perjalanan di seluruh rute sekali, jika tidak mengembalikan string "tidak mungkin" .
Untuk contoh di atas ada 4 pompa bensin, dan program Anda harus mengembalikan string "1" karena:
Mulai dari stasiun 1 Anda menerima 3 galon gas dan menghabiskan 1 sampai ke stasiun berikutnya.
Maka Anda memiliki 2 galon + 2 lebih di stasiun berikutnya dan Anda menghabiskan 2 sehingga Anda memiliki 2 galon ketika Anda sampai ke stasiun ke-3.
Anda kemudian memiliki 3 tetapi Anda menghabiskan 2 sampai ke stasiun akhir,
Di stasiun terakhir Anda menerima 0 galon dan Anda menghabiskan galon terakhir Anda sampai ke titik awal.
Memulai dari pompa bensin lain akan membuat perjalanan di sekitar rute menjadi tidak mungkin, jadi jawabannya adalah "1" .
Jika ada beberapa pompa bensin yang memungkinkan untuk memulai, kembalikan indeks terkecil (dari pompa bensin). Nakan >= 2.
Output Sampel yang Benar:
Input: ["4","1:1","2:2","1:2","0:1"]
Output: "impossible"
Input: ["4","0:1","2:2","1:2","3:1"]
Output: "4"
Pemenang akan menjadi orang yang menggunakan kode terpendek meskipun akan lama.
N+1elemen yang tepat strArr? Ini akan membuat Nberlebihan jika bahasa sudah menyediakan cara untuk mendapatkan panjang array, kan? (Itu masih akan berguna untuk misalnya C.)
is_enough(9 karakter); tiga menggunakan nama char tunggal, dan satu tidak menamai fungsinya sama sekali. Bisakah Anda menjelaskan apa yang diizinkan?