JavaRush /Java Blog /Random-KO /알고리즘 문제
Joysi
레벨 41

알고리즘 문제

Random-KO 그룹에 게시되었습니다
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