JavaRush /Java Blog /Random-TW /演算法問題
Joysi
等級 41

演算法問題

在 Random-TW 群組發布
JavaRush 的優點是豐富的練習,這極大地有助於鞏固講座中提供的材料。在這裡,95% 的任務都集中在編寫應用程式或伺服器程式的實務上。練習講座中介紹的材料(集合、泛型、陣列、多執行緒等)或逐步建立和重構許多類別及其交互作用(大類)的問題是很棒的。有一些演算法問題,例如呼吸新鮮空氣(每個人可能都記得20級的最後一個獎勵,建立二元樹列表),但數量並不多。這是可以理解的,該課程致力於應用實踐,而不是演算法(這需要更多的控制論和數學理論)。對於那些和我有些相似,有時會有點分心並在程式設計中練習更多數學技能的人,我推薦 http://codeforces.com/。那裡的問題可以在 Java 7/8 中解決(在其他程式語言中)。http://codeforces.com/problemset 提供了一系列問題(除此之外,還組織了競賽)。除此之外,還有比賽等。100%在單一java檔案中使用預設套件(即java檔案中沒有指定套件)進行決策,入口點為public static void main(String[] args)。我沒有嘗試過其他選項來提交解決方案。我將給出一個最簡單問題的範例(http://codeforces.com/problemset/problem/1/A)和解決方案(將其視為測試範例),以便您在解決其他問題時可以將其用作空白: 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); } } 建立程式並自行測試後,將文件上傳到網站,很快就會開始驗證,您可以觀看其流程。此外,您可以在驗證過程中查看測試數據,並在其中一項測試失敗時使用它來修正程式。PS 如果管理員認為這是第三方資源的廣告,您可以將其刪除。雖然我個人認為在演算法方面對大腦進行額外的鍛鍊不會有什麼壞處。PSS 如果還有其他類似的資源,請寫在評論中(最好是擴展的 - 優點、缺點和已解決的測試問題的示例,以便其他人輕鬆開始)。
留言
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION