-
BOJ 11727 : 2xn 타일링 2백준 문제풀이/Dynamic Programming 2020. 5. 15. 17:51
문제
문제 풀어보기
풀이
이거 하나만 확인하세요 !!
경우의 수를 계산하는 모든 과정에서
모듈러 연산을 하셨나요 ?
ㅎㅎ
코드
#include <iostream> #include <vector> using namespace std; int d[1001][3]; #define mod 10007 int main() { ios::sync_with_stdio(false); cin.tie(NULL); int n; cin >> n; d[1][1] = 1; d[2][0] = d[2][1] = d[2][2] = 1; for (int i = 3; i <= n; i++) { d[i][0] = (d[i - 2][0] + d[i - 2][1] + d[i - 2][2])%mod ; d[i][1] = (d[i - 1][1] + d[i - 1][0] + d[i - 1][2])%mod ; d[i][2] = (d[i - 2][0] + d[i - 2][1] + d[i - 2][2])%mod ; } int ans = (d[n][0] + d[n][1] + d[n][2])%mod; cout << ans << '\n'; return 0; }
'백준 문제풀이 > Dynamic Programming' 카테고리의 다른 글
SWEA 4168 : 삼성이의 쇼핑 ( 비트마스크 + 조합 연습 ) (0) 2020.05.20 BOJ 2293 : 동전 1 (0) 2020.01.23 BOJ 10942 : 팰린드롬? (0) 2020.01.23 BOJ 1003 : 피보나치 함수 (0) 2020.01.04 BOJ 11048 : 이동하기 (0) 2020.01.02