JavaRush /Java 博客 /Random-ZH /算法问题
Joysi
第 41 级

算法问题

已在 Random-ZH 群组中发布
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