접근 방법 : 주어진 수를 1,2,3 으로 만들 수 있는 방법을 모두 만들어 보면 된다. 재귀를 돌리면서 가능한 경우의 수를 모두 만든다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | #include <iostream> using namespace std; int ans = 0; void solve(int n) { if (n == 0) { ans += 1; return; } if (n >= 1) { solve(n - 1); } if (n >= 2) { solve(n - 2); } if (n >= 3) { solve(n - 3); } } int main() { int T; cin >> T; for (int i = 1; i <= T; i++) { int n; ans = 0; cin >> n; solve(n); cout << ans << endl; } } | cs |
반응형
'Computer Science > Algorithm' 카테고리의 다른 글
삼성 SWEA 점심 식사시간 (0) | 2018.10.17 |
---|---|
[BOJ 16137] 견우와 직녀 (0) | 2018.10.16 |
[BOJ 1748] 수 이어 쓰기1 (0) | 2018.08.09 |
[BOJ 6064] 카잉 달력 (0) | 2018.08.06 |
[BOJ 14500] 테트로미노 (0) | 2018.08.06 |