728x90
단계별로 풀어보기 수학 1의 7단계 문제
2775번: 부녀회장이 될테야
첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다. (1 <= k <= 14, 1 <= n <= 14)
www.acmicpc.net
배열을 하나 만들어놓고 차곡차곡 더해서 저장하면 된다.
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int a;
cin >> a;
int** input = new int*[a];
for (int i = 0; i < a; i++) {
input[i] = new int[2];
}
int maxFloor = 0;
int maxNumber = 1;
for (int i = 0; i < a; i++) {
int floor, number;
cin >> floor >> number;
if (floor > maxFloor) maxFloor = floor;
if (number > maxNumber) maxNumber = number;
input[i][0] = floor;
input[i][1] = number;
}
int** apartment = new int*[maxFloor + 1];
for (int i = 0; i < maxFloor + 1; i++) {
apartment[i] = new int[maxNumber];
}
for (int i = 0; i <= maxFloor; i++) {
apartment[0][i] = i + 1; //0층 i호를 i + 1로 초기화
}
for (int i = 1; i < maxFloor + 1; i++) { //1층부터 k층까지
int sum = 0;
for (int j = 0; j < maxNumber; j++) { //1호부터 n호까지
sum += apartment[i - 1][j];
apartment[i][j] = sum;
}
}
for (int i = 0; i < a; i++) {
cout << apartment[input[i][0]][input[i][1] - 1] << endl;
}
return 0;
}
728x90
'알고리즘 문제' 카테고리의 다른 글
[백준] 1152번 단어의 개수 (0) | 2020.01.25 |
---|---|
[백준] 2580번 스도쿠 (0) | 2020.01.25 |
[백준] 2156번 포도주 시식 (0) | 2020.01.24 |
[백준] 2579번 계단 오르기 (0) | 2020.01.24 |
[백준] 2446번 별 찍기 - 9 (0) | 2020.01.22 |