삐까냥의 파도타기
Q1890. 점프 본문
이전 문제와 동일합니다.
import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Q1890 { static int mapSize; static int[][] map; static long[][] mapValue; public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); mapSize = Integer.parseInt(st.nextToken());
map = new int[mapSize+1][mapSize+1]; mapValue = new long[mapSize+1][mapSize+1]; for (int i = 1; i <= mapSize; i++) { st = new StringTokenizer(br.readLine()); for (int j = 1; j <= mapSize; j++) { map[i][j] = Integer.parseInt(st.nextToken()); mapValue[i][j] = -1; } } mapValue[mapSize][mapSize] = 1; System.out.println(searchMap(1, 1)); } public static long searchMap(int y, int x) { if (mapValue[y][x] != -1) { return mapValue[y][x]; }
mapValue[y][x] = 0; int jump = map[y][x];
//하 if (y + jump <= mapSize) { mapValue[y][x] += searchMap(y+jump, x); } //우 if (x + jump <= mapSize) { mapValue[y][x] += searchMap(y, x+jump); }
return mapValue[y][x]; } }
|
'코딩 > 백준 알고리즘' 카테고리의 다른 글
Q11052. 카드 구매하기 (0) | 2019.02.17 |
---|---|
Q2156. 포도주 시식 (0) | 2019.02.16 |
Q1520. 내리막길 (0) | 2019.02.16 |
Q11722. 가장 긴 감소하는 부분 수열 (0) | 2019.02.16 |
Q11055. 가장 큰 증가 수열 (0) | 2019.02.14 |