JavaRush /Java Blog /Random-ID /Masalah algoritma
Joysi
Level 41

Masalah algoritma

Dipublikasikan di grup Random-ID
Kelebihan JavaRush adalah banyaknya latihan, yang sangat membantu mengkonsolidasikan materi yang diberikan dalam perkuliahan. Di sini, 95% tugas difokuskan pada praktik penulisan program aplikasi atau server. Sangat menyenangkan untuk mempraktikkan materi yang disajikan dalam perkuliahan (koleksi, generik, array, multithreading, dll.) atau secara bertahap membuat dan memperbaiki masalah dengan banyak kelas dan interaksinya (yang besar). Ada masalah algoritmik seperti menghirup udara segar (semua orang mungkin ingat bonus terakhir level 20, membuat daftar pohon biner), tetapi jumlahnya tidak banyak. Hal ini dapat dimengerti, kursus ini dikhususkan untuk praktik terapan, dan bukan algoritmik (yang membutuhkan lebih banyak teori sibernetika dan matematika). Bagi mereka yang agak mirip dengan saya dalam hal terkadang sedikit terganggu dan lebih banyak melatih keterampilan matematika dalam pemrograman, saya merekomendasikan http://codeforces.com/. Masalah yang ada bisa diselesaikan (di antara bahasa pemrograman lain) di Java 7/8. Kumpulan masalah (selain masalah tersebut, kompetisi juga diselenggarakan) tersedia di http://codeforces.com/problemset. Selain itu, ada kompetisi, dll. 100% membuat keputusan dalam satu file java menggunakan paket default (yaitu, tidak ada paket yang ditentukan dalam file java) dan titik masuknya adalah public static void main(String[] args). Saya belum mencoba opsi lain untuk mengirimkan solusi. Saya akan memberikan contoh masalah paling sederhana (http://codeforces.com/problemset/problem/1/A) dengan solusinya (anggap saja sebagai contoh tes), sehingga Anda dapat menggunakannya sebagai blanko saat menyelesaikan masalah lain. : import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class task1A { /* Театральная площадь в столице Берляндии представляет собой прямоугольник n × m метров. По случаю очередного юбилея города, было принято решение о замощении площади квадратными гранитными плитами. Каждая плита имеет размер a × a. Какое наименьшее количество плит понадобится для замощения площади? Разрешено покрыть плитами большую поверхность, чем театральная площадь, но она должна быть покрыта обязательно. Гранитные плиты нельзя ломать or дробить, а разрешено использовать только целиком. Границы плит должны быть параллельны границам площади. Входные данные В первой строке записано три целых натуральных числа n, m и a (1 ≤ n, m, a ≤ 10^9). Выходные данные Выведите искомое количество плит. */ public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); String[] s=reader.readLine().split(" "); long n = Long.parseLong(s[0]); long m = Long.parseLong(s[1]); long a = Long.parseLong(s[2]); reader.close(); long cntSide1 = n/a + (int) Math.signum(n%a); long cntSide2 = m/a + (int) Math.signum(m%a); System.out.print(cntSide1*cntSide2); } } Setelah membuat program dan mengujinya sendiri, unggah file ke website, verifikasi akan segera dimulai dan Anda dapat melihat prosesnya. Selain itu, Anda dapat melihat data pengujian selama proses verifikasi dan menggunakannya untuk memperbaiki program jika salah satu pengujian gagal. PS Jika pemerintah menganggapnya sebagai iklan untuk sumber pihak ketiga, Anda dapat menghapusnya. Meskipun menurut saya pribadi, latihan tambahan untuk otak dalam hal algoritma tidak ada salahnya. PSS Jika ada sumber daya serupa lainnya, tulis di komentar (sebaiknya yang diperluas - pro, kontra, dan contoh soal tes yang diselesaikan untuk permulaan yang mudah bagi orang lain).
Komentar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION