컴퓨터공학/알고리듬 풀이
백준-조합론 24723 녹색거탑
cyphen156
2025. 7. 9. 09:32
맨 위 층부터 시작해서 바닥에 도착하는 경우의 수를 찾아라.
다음과 같은 규칙으로 구성되어 있다고 한다.
- 그림의 시야에 보이지 않는 블록은 없다.
- 그림의 시야에 보이는 블록의 윗면만 이용해 녹색거탑을 내려올 수 있다.
- 녹색거탑이 층이면, 총 개의 블록을 이용한 최단 경로로만 내려온다.
- 녹색거탑을 내려올 때는 정상에서 시작해 노란색 바닥까지, 항상 인접한 아래층의 블록으로만 내려온다.
2차원으로 시각화 한다면 다음과 같이 그릴 수 있다.
제약사항
- 0 < N <= 5
- 항상 인접한 한 블록으로만 내려간다.
- 옆으로 이동하는 경우는 없다 / 항상 아래로만 진행한다.
주의 사항
없다.CPP풀이
녹색거탑_24723.cpp
/**
* 백준 녹색거탑_24723
* 맨 위 층부터 시작해서 바닥에 도착하는 경우의 수를 찾아라
* 다음과 같은 규칙으로 구성되어 있다고 한다.
* 그림의 시야에 보이지 않는 블록은 없다.
* 그림의 시야에 보이는 블록의 윗면만 이용해 녹색거탑을 내려올 수 있다.
* 녹색거탑이 $N$층이면, 총 $N$개의 블록을 이용한 최단 경로로만 내려온다.
* 녹색거탑을 내려올 때는 정상에서 시작해 노란색 바닥까지, 항상 인접한 아래층의 블록으로만 내려온다.
* 2차원으로 시각화 한다면 다음과 같이 그릴 수 있다.
*
* 제한사항
****************************************************
* 0 < N <= 5 *
* 항상 인접 한 블록으로만 내려간다. *
* 옆으로 이동하는 경우는 없다 / 항상 아래로만 진행한다 *
****************************************************
*
*
*
* 주의
* 없다.
*
* 풀이시간 10분
*/
#include <iostream>
using namespace std;
int main(void)
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N;
cin >> N;
int result = 1;
for (int i = 0; i < N; ++i)
{
result *= 2;
}
cout << result << '\n';
return 0;
}
모든 예제 코드의 소스파일은 제 개인 깃허브 레포지토리에 있습니다.
Workspace/알고리듬 풀이 at main · cyphen156/Workspace
Studying . Contribute to cyphen156/Workspace development by creating an account on GitHub.
github.com