bruteforce (2) 썸네일형 리스트형 [ACMICPC] 3005 . 크로스워드 퍼즐 쳐다보기 3005번 크로스워드 퍼즐 쳐다보기 문제 보러가기 🅰 설계 1. 어떤 방법을 사용할 것인가? R과 C가 20이고 BruteForce로 모든 행,열을 두 번씩 돌아도 O(R*C*2) 로 시간제한은 생각하지 않아도 된다. 모든 행을 왼쪽->오른쪽으로, 모든 열을 위->아래로 돌면서 길이가 2이상인 모든 문자를 탐색하면 된다. 2. 특정 행,열의 처음에서 시작하는 탐색 코드 12345678910111213141516171819202122232425static int[] dy={1,0},dx={0,1}; // ... static String getLongestWord(int y,int x,int dir){ String ret = "zzzzzzzzzzzzzzzzzzzzzzzzzzz"; StringBuilder s.. [ACMICPC] 18111 . 마인크래프트 18111번 마인크래프트 문제 보러가기 🅰 설계 1. 어떤 방법을 사용할 것인가? 땅의 높이가 최대 256이므로 0부터 256까지 높이를 한 번씩 설정해보고 그 높이로 평탄화하는 방법을 생각할 수 있다. 맵의 크기는 최대 500이므로 250,000이다. 250,000*257 = 64,250,000이므로 1초 제한인 이 문제에서 모든 블럭을 한 번씩 돌면서 높이를 체크하는 방법을 쓰기는 불안하다. 모든 맵을 돌지 않아도 땅의 최대 높이가 256이므로 각 높이에 해당하는 블록의 개수를 미리 저장해둘 수 있다. 그리고 0~256까지 높이를 한 번씩 시도해보면서 현재 가지고있는 블럭들의 높이에 대해서 현재 설정한 높이를 만드는데 드는 비용을 계산할 수 있다. 2. 전체 코드 12345678910111213141.. 이전 1 다음