728x90
위대한 전사
#include<iostream>
#include<algorithm>
using namespace std;
int cnt;
void skill(int hp)
{
if (hp <= 0) cnt++;
else
{
skill(hp - 1);
skill(hp - 3);
}
}
int main()
{
int hp;
cin >> hp;
skill(hp);
cout << cnt;
}
비버나라의 위대한 전사는 2가지 공격 기술을 구사할 수 있습니다.
체력이 4인 몬스터를 잡기 위해 기술을 사용하는 방법은 총 6가지로 다음과 같습니다.
1번 방법 : 1번 기술 사용 -> 1번 기술 사용 ( 총 피해 : 6 )
2번 방법 : 1번 기술 사용 -> 2번 기술 사용 ( 총 피해 : 4 )
3번 방법 : 2번 기술 사용 -> 1번 기술 사용 ( 총 피해 : 4 )
4번 방법 : 2번 기술 사용 -> 2번 기술 사용 -> 1번 기술 사용 ( 총 피해 : 5 )
5번 방법 : 2번 기술 사용 -> 2번 기술 사용 ->2번 기술 사용 -> 1번 기술 사용 ( 총 피해 : 6 )
6번 방법 : 2번 기술 사용 -> 2번 기술 사용 -> 2번 기술 사용 -> 2번 기술 사용 ( 총 피해 : 4 )
위대한 전사가 사냥해야하는 몬스터의 체력이 주어질 때,몬스터를 사냥하기 위해 가능한 기술 사용 순서의 경우의 수를 구하는 프로그램입니다.
728x90
'c++ > 학교 문제 풀이' 카테고리의 다른 글
c++ 문제 풀이 - 인내의 숲 1단계 - 2 (0) | 2025.03.26 |
---|---|
c++ 문제 풀이 - 인내의 숲 1단계 - 1 (0) | 2025.03.25 |
c++ 문제 풀이 - 반복문 7 출력하기 (0) | 2025.03.23 |
c++ 문제 풀이 - 반복문 4, 5, 6 출력하기 (0) | 2025.03.22 |
c++ 문제 풀이 - 반복문 1, 2, 3 출력하기 (0) | 2025.03.21 |