문제 44, 표현식, Expressions, PC/UVa ID : 110604/10157, 인기도 : C, 성공률 : 보통, 레벨 : 2
이 포스트를 만든 목적
참조 문헌
- 스티븐 스키에나, 미구엘 레비야 저. Programming Challenges: 알고리즘 트레이닝 북. 서환수 역.
Springer. 한빛미디어 초판 2쇄 2004.12.05. (문제 44, 표현식, Expressions, page 175)
참조 링크
- http://acm.uva.es/p/v101/10157.html
문제
올바르게 만들어진 괄호 표현식의 집합을 X 라고 했을 때, X 의 요소 갯수는 총 몇개인가? 가 문제이다. 여기서 X의 요소는 괄호의 갯수와 깊이가 주어졌을 때, 다음과 같은 규칙으로 만들어진 괄호를 뜻한다.
예를 들어, ()()() 와 깊이 2가 주어진다면, (())(), (()()), ()(()) 이렇게 3개를 만들수 있다. 그러므로 X의 요소의 갯수는 3이다.
입력/출력
입력은 한쌍의 정수 n과 d로 구성되며, 한 줄에는 한 쌍의 정수만 입력된다. 그리고 요소의 갯수를 출력한다.
입력 예시
출력 예시
맛보기 코드
아직 못품..
생각/해설/여담
… 생각 중
:wq
문제 44, 표현식, Expressions, PC/UVa ID : 110604/10157, 인기도 : C, 성공률 : 보통, 레벨 : 2 (1)
|
2015.02.04 |
문제 43, 셈, Counting, PC/UVa ID : 110603/10198, 인기도 : B, 성공률 : 높음, 레벨 : 2 (2)
|
2011.08.22 |
문제 42, 땅 나누기, How many Pieces of Land?, PC/UVa ID : 110602/10213, 인기도 : B, 성공률 : 보통, 레벨 : 2 (1)
|
2011.08.01 |
문제 41, 피보나치 수의 개수, How many Fibs?, PC/UVa ID : 110601/10183, 인기도 : B, 성공률 : 보통, 레벨 : 1 (0)
|
2011.07.29 |
문제 40, 모든 쌍의 합, Pairsumonious Numbers, PC/UVa ID : 110508/10202, 인기도 : B, 성공률 : 높음, 레벨 : 4 (0)
|
2011.07.27 |
문제 39, 스턴-브로콧 수체계, The Stern-Brocot Number System, PC/UVa ID : 110507/10077, 인기도 : C, 성공률 : 높음, 레벨 : 1 (0)
|
2011.07.03 |
문제 38, 다항식의 계수, Polynomial Coefficients, PC/UVa ID : 110506/10105, 인기도 : B, 성공률 : 높음, 레벨 : 1 (0)
|
2011.06.14 |
문제 37, 곱하기 게임, A Multiplication Game, PC/UVa ID : 110505/847, 인기도 : A, 성공률 : 높음, 레벨 : 3 (0)
|
2011.05.07 |
문제 36, 1의 개수, Ones, PC/UVa ID : 110504/10127, 인기도 : A, 성공률 : 높음, 레벨 : 2 (0)
|
2011.05.05 |
문제 35, 고고학자의 딜레마, The Archeologist's Dilemma, PC/UVa ID : 110503/701, 인기도 : A, 성공률 : 낮음, 레벨 : 1 (0)
|
2011.05.05 |
문제 34, 뒤집어서 더하기, Reverse and Add, PC/UVa ID : 110502/10018, 인기도 : A, 성공률 : 낮음, 레벨 : 1 (0)
|
2011.03.10 |
익필아 안뇽~~ 올만에 검색하다보니 블로그가 보여서
구경하다 풀어보려고 끄적여봤는데 맞는지 모르겠네 ㅋㅋ
번데기 앞에 주름잡는 중 ㅎㅎ
int Gathering(int istep, int depth)
{
int ret = 0;
for (int i = istep; i > 0; --i)
{
if (i < depth)
{
ret++;
break;
}
ret += Gathering(i-1, depth);
}
return ret;
}
int main()
{
int a, b;
int ret = 0;
scanf_s("%d", &a);
scanf_s("%d", &b);
printf_s("%d", Gathering(a / 2, b) -1);
}