목록역량 (2)
시간이 NullNull
이 문제는 무려 5초를 주었다는 점과 N의 수가 작아 N*N을 하더라도 10000인 점 미생물의 수가 1000개 이하라는 점이 무조건 시뮬레이션이라는 생각이 들어 쉽게 풀게 되었다. 내가 사용한 변수들은 int[][] maxMap, int[][] dirMap, int[][] sumMap 이다 이름만 봐도 어떤 용도인지 알겠으나 나중에 더 자세히 설명하겠다. 1. m일 동안 진행하기 때문에 0~m-1까지 for문 돌기 2. 미생물이 합쳐지기도 죽기도 하기때문에 list가 아닌 Queue 사용 하였는데 하루동안 한칸만 움직여야 하기때문에 Q의 사이즈를 이용하여 그만큼만 for문을 돌아주었다. 3. 문제에 나와있듯이 한칸 움직인 후 배열의 가장 바깥쪽 칸들에 가면 크기를 반으로 줄이고 방향을 반대로 바꿔주었다..
[제약 사항] 1. 시간 제한 : 최대 50개 테스트 케이스를 모두 통과하는 데 C/C++/Java 모두 3초 2. 지도의 한 변의 길이 N은 3 이상 8 이하의 정수이다. (3 ≤ N ≤ 8) 3. 최대 공사 가능 깊이 K는 1 이상 5 이하의 정수이다. (1 ≤ K ≤ 5) 4. 지도에 나타나는 지형의 높이는 1 이상 20 이하의 정수이다. 5. 지도에서 가장 높은 봉우리는 최대 5개이다. 6. 지형은 정수 단위로만 깎을 수 있다. 7. 필요한 경우 지형을 깎아 높이를 1보다 작게 만드는 것도 가능하다. 이 문제에서 주목해야 할 점은 "지도의 한 변의 길이 N은 3이상 8이하의 정수이다." 와 "최대 공사 가능 깊이 K는 1이상 5이하의 정수이다." 이다. 이 점을 가지고 생각해보면 가장 큰 지도 인..