1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | // 다시 풀기(힌트 얻어서 품) // d[i][0] = 2*i에 사자를 배치하되 마지막 칸에는 배치하지 않는 경우 // d[i][1] = 2*i에 사자를 배치하되 마지막 칸 왼쪽에 배치하는 경우 // d[i][2] = 2*i에 사자를 배치하되 마지막 칸 오른쪽에 배치하는 경우 #include <cstdio> using namespace std; int n, d[100001][3]; int main() { scanf("%d", &n); d[0][0] = 1; for (int i = 1; i <= n; i++) { d[i][0] = (d[i - 1][0] + d[i - 1][1] + d[i - 1][2]) % 9901; d[i][1] = (d[i - 1][0] + d[i - 1][2]) % 9901; d[i][2] = (d[i - 1][0] + d[i - 1][1]) % 9901; } printf("%d\n", (d[n][0] + d[n][1] + d[n][2]) % 9901); return 0; } | cs |
백준 6359 만취한 상범 (0) | 2018.05.18 |
---|---|
백준 1965 상자넣기 (0) | 2018.05.18 |
백준 11051 이항 계수 2 (0) | 2018.05.18 |
백준 4344 평균은 넘겠지 (0) | 2018.05.18 |
백준 9251 LCS (0) | 2018.05.18 |
댓글,
jayharvey
머신러닝/딥러닝 관련 글을 포스팅할 예정입니다 :)