https://www.acmicpc.net/problem/2302
#include <cstdio>#pragma warning(disable:4996)#define MAX 40int N;int V;long dp[MAX + 1] = { 0, };bool seat[MAX + 1] = { 0, };int main(){int result = 1;int cnt = 0;scanf("%d %d", &N, &V);dp[0] = 1;dp[1] = 1;for (int i = 0; i < V; i++){int idx = 0;scanf("%d", &idx);seat[idx-1] = true; // VIP}for (int i = 2; i <= N; i++)dp[i] = dp[i - 2] + dp[i - 1];for (int i = 0; i < N; i++){if (seat[i]){result *= dp[cnt];cnt = 0;}elsecnt++;}result *= dp[cnt];printf("%d\n", result);return 0;}
'알고리즘 풀이' 카테고리의 다른 글
백준 5567번 결혼식 (0) | 2018.03.25 |
---|---|
백준 6359번 만취한 상범 (0) | 2018.02.07 |
백준 9084번 동전 (0) | 2018.01.24 |
백준 10942번 팰린드롬? (0) | 2018.01.22 |
백준 6603번 로또 (0) | 2018.01.15 |