BEAKJOON

백준(2775번 부녀회장이 될테야)풀이 C++

Shin_jisoo 2021. 1. 12. 22:19
728x90

www.acmicpc.net/problem/2775

 

2775번: 부녀회장이 될테야

첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다

www.acmicpc.net

1) 주석 없는 VERSION

#include <stdio.h>
#include <iostream>
#include <string>

using namespace std;

int room(int a, int b) {

	if (a == 0) return b;
	if (b == 1)return 1;

	return (room(a - 1, b) + room(a, b - 1));

}

int main() {
	int t;
	cin >> t;

	int k, n;
	int answer = 0;

	for (int i = 0;i < t;i++) {
		cin >> k >> n;
		cout << room(k, n) << endl;
	}


}

 

2) 주석 있는 VERSION

#include <stdio.h>
#include <iostream>
#include <string>

using namespace std;

int room(int a, int b) {

	if (a == 0) return b; // 층 수가 0일 때는 해당 호수로 return
	if (b == 1)return 1; // 호 수가 1일 때는 무조건 1 return

	// 해당 호수의 같은 층 전 호수 + 해당 호수의 밑에 층 호수 의 수의 합
	// 재귀 함수 호출
	return (room(a - 1, b) + room(a, b - 1));

}

int main() {
	int t;
	cin >> t;

	int k, n;
	int answer = 0;

	for (int i = 0;i < t;i++) {
		cin >> k >> n;
		cout << room(k, n) << endl;
	}


}

 

❌주의 사항❌

 

규칙 찾는데 노력하기

if 문이 먼저 걸려야할 때에 순서 유의하기