본문 바로가기
카테고리 없음

2775: 부녀회장이 될거야

by soeayun 2023. 7. 4.

1. 그냥 풀기 // for문을 이용

#include <stdio.h>


int main(void)
{
 int a;
  scanf("%d",&a);
 for(int i=0;i<a;i++)
   {
     int k,n;
     scanf("%d %d",&k,&n);
     int arr[k+1][n];  //k가 층, n이 호
     for(int j=0;j<n;j++)
       {
         arr[0][j]=j+1;
       }
     for(int j=1;j<k+1;j++) //j가 층
       {
       for(int q=0;q<n;q++)
         {
           int add=0;
           for(int p=0;p<=q;p++)
             add+=arr[j-1][p]; //밑에 층 합
           arr[j][q]=add;
         }
      }
     printf("%d\n",arr[k][n-1]);
   }
  return 0;
}

2. 아래와 왼쪽의 값으로 새로운 항이 만들어지는 표에서는 그 값을 이용하여 표를 만드는 것이 더 효과적

 for(int i=1; i<15; i++){
    for(int j=1; j<15; j++){
      arr[i][j] = arr[i-1][j] + arr[i][j-1];
    }  // 문제에서 말한 공식대로 밑에층의 1호부터 해당호까지 사람들의 합을 arr[i][j]에 넣어준다.
  }