-
백준 - 파이프 옮기기 2 [17069]공부/baekjoon 문제 2019. 6. 24. 16:07
#include <iostream> using namespace std; int map[34][34]; long long road[3][34][34]; int result; void func(int n) { road[0][1][2] = 1; for (int i = 1; i < n + 1; i++) { for (int j = 2; j < n + 1; j++) { if (map[i][j + 1] != 1) { road[0][i][j + 1] = road[0][i][j] + road[1][i][j]; } if (map[i + 1][j] != 1) { road[2][i + 1][j] = road[1][i][j] + road[2][i][j]; } if (map[i + 1][j + 1] != 1 && map[i + 1][j] != 1 && map[i][j + 1] != 1) { road[1][i + 1][j + 1] = road[0][i][j] + road[1][i][j] + road[2][i][j]; } } } return; } int main() { int n; cin >> n; for (int i = 1; i < n+1; i++) for (int j = 1; j < n+1; j++) cin >> map[i][j]; func(n); cout << road[0][n][n] + road[1][n][n] + road[2][n][n] << endl; return 0; }
'공부 > baekjoon 문제' 카테고리의 다른 글
백준 - 계단 오르기 [2579] (0) 2019.09.04 백준 - 버블 정렬 [11920] (0) 2019.06.25 백준 문제 풀다보면 느끼는거 (0) 2019.06.23 백준 - 빗물 [14719] (0) 2019.06.21 백준 - 색종이 붙이기 [17136] (0) 2019.06.19