BOJ::10164 격자상의 경로
https://www.acmicpc.net/problem/10164
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | #include <stdio.h> using namespace std; int n, m, k; int map[16][16]; int d[16][16]; int main() { scanf("%d %d %d", &n, &m, &k); d[1][1] = 1; int cnt = 0; int mx, my; if (k == 0) { mx = 1; my = 1; } else { for (int i = 1; i <= n; i++) { for (int j = 1; j <= m; j++) { cnt++; if (cnt == k) { mx = i; my = j; break; } } } } for (int i = 1; i <= mx; i++) { for (int j = 1; j <= my; j++) { d[i][j] += d[i - 1][j] + d[i][j - 1]; } } int x = d[mx][my]; d[mx][my] = 1; for (int i = mx; i <= n; i++) { for (int j = my; j <= m; j++) { if (i == mx && j == my) { continue; } d[i][j] += d[i - 1][j] + d[i][j - 1]; } } int y = d[n][m]; printf("%d\n", x*y); } | cs |
'BOJ::문제풀이' 카테고리의 다른 글
11052 붕어빵 판매하기 (0) | 2018.01.06 |
---|---|
10844 쉬운 계단 수 (0) | 2018.01.06 |
9466 텀 프로젝트 (0) | 2018.01.06 |
9465 스티커 (0) | 2018.01.06 |
7576 토마토 (0) | 2018.01.06 |