Tanah longsor
Dalam tantangan ini, tugas Anda adalah memperkirakan tingkat kerusakan yang disebabkan oleh tanah longsor besar-besaran. Kami menggunakan model dua dimensi berikut yang disederhanakan untuknya, diparameterisasi dengan tinggi awal h >= 0 dan koefisien kritis c > 0 . Anda mulai dengan tebing tinggi h, dan diasumsikan bahwa medannya benar-benar datar tak terbatas ke kiri dan ke kanan. Sebab h = 6, situasinya terlihat seperti ini:
##########
##########
##########
##########
##########
##########
-----------------------
Ini -adalah batuan dasar yang tidak tergoyahkan, dan #merupakan tanah yang tidak stabil. Jika perbedaan ketinggian antara dua kolom tetangga lebih dari c, tanah longsor terjadi: cunit teratas tanah dari kolom kiri jatuh ke ckolom berikutnya di sebelah kanan, satu ke masing-masing. Kolom non-kosong paling kanan pada gambar tidak stabil untuk c = 2, sehingga tanah longsor dipicu:
#########
#########
##########
##########
##########
############
-----------------------
Kolom masih tidak stabil, yang menyebabkan tanah longsor kedua:
#########
#########
#########
#########
############
############
-----------------------
Sekarang, kolom di sebelah kirinya menjadi tidak stabil, sehingga tanah longsor baru dipicu di sana:
########
########
#########
###########
############
############
-----------------------
Setelah ini, tebing kembali stabil. Yang menyenangkan dari model ini adalah urutan pemrosesan tanah longsor tidak menjadi masalah: hasil akhirnya sama.
Tugas
Program Anda diberi parameter bilangan bulat hdan csebagai input (urutannya tidak penting, tetapi Anda harus menentukannya pada jawaban Anda), dan itu akan menampilkan jumlah kolom yang dipengaruhi oleh tanah longsor. Ini berarti jumlah kolom di tebing stabil yang dihasilkan yang tingginya antara 0dan h. Dalam contoh di atas, output yang benar adalah 4.
Anda dapat menulis program atau fungsi lengkap. Hitungan byte terendah menang, dan celah standar tidak diizinkan.
Uji Kasus
Ini diberikan dalam format h c -> output.
0 2 -> 0
2 3 -> 0
6 2 -> 4
6 6 -> 0
10 1 -> 10
15 1 -> 14
15 2 -> 11
15 3 -> 6
40 5 -> 16
80 5 -> 28
80 10 -> 17