[BAEKJOON]NO.2775が女性会長になる
https://www.acmicpc.net/problem/2775
最初は上の階の住民数を増やすためだった.
再帰関数を実現すべきであると考えられる.
しかし、再帰関数は実装されていません.
考えてみると、二次元配列を思い出しました.二次元配列先記憶住民数 で作成した2次元配列をもとに、k階n号に住む住民数を探しています.
-(k-1)階1号からn号までの住民総数 2 D配列を全部並べるには、何層あるか分かりません.
入力した数だけ作成します.
動的割り当てを使うべきだと思いますが、
繰り返しドアの中で作ったので、そうしなくてもいいです.
最初は上の階の住民数を増やすためだった.
再帰関数を実現すべきであると考えられる.
しかし、再帰関数は実装されていません.
考えてみると、二次元配列を思い出しました.
-(k-1)階1号からn号までの住民総数
入力した数だけ作成します.
動的割り当てを使うべきだと思いますが、
繰り返しドアの中で作ったので、そうしなくてもいいです.
#include <iostream>
using namespace std;
// 부녀회장이 될테야
int main(void)
{
int testcase = 0;
cin>>testcase;
int k_values[testcase];
int n_values[testcase];
for (int i = 0; i < testcase; i++)
{
cin>>k_values[i]>>n_values[i];
}
int sum = 0;
for(int i=0; i<testcase; i++)
{
// 아파트에 숫자 채우기
int apartment[k_values[i]][n_values[i]];
for(int j=0; j<k_values[i]; j++)
{
for(int k=0; k<n_values[i]; k++)
{
if(j==0)
{
apartment[j][k] = k+1;
}
else
{
if(k==0)
{
apartment[j][k] = 1;
}
else
{
apartment[j][k] = apartment[j-1][k] + apartment[j][k-1];
}
}
}
}
// k층 n호의 거주민 수 계산
for(int z=0; z<n_values[i]; z++)
{
sum += apartment[k_values[i]-1][z];
}
cout<<sum<<endl;
sum = 0;
}
return 0;
}
Reference
この問題について([BAEKJOON]NO.2775が女性会長になる), 我々は、より多くの情報をここで見つけました https://velog.io/@minjujuu/BAEKJOON-NO.2775-부녀회장이-될테야テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol