fork download
  1. #include <iostream>
  2. #include <string.h>
  3. using namespace std;
  4.  
  5. int main() {
  6. int t;
  7. int floor, roomNumber;
  8. cin >> t;
  9. while (t--) {
  10. cin >> floor; cin >> roomNumber;
  11. int** arr = new int* [floor+1];
  12. for (int i = 0; i < floor+1; i++) {
  13. arr[i] = new int[roomNumber];
  14. memset(arr[i], 0, sizeof(int*) * roomNumber);
  15. }
  16.  
  17.  
  18. for (int i = 0; i < roomNumber; i++) {
  19. arr[0][i] = i+1;/*1층 초기화*/
  20. }
  21.  
  22. for (int i = 1; i < floor + 1; i++) {
  23. arr[i][0] = 1; // 각 층 1호 1로 초기화
  24. for (int j = 1; j < roomNumber; j++) {
  25. arr[i][j] = arr[i - 1][j] + arr[i][j - 1];
  26. }
  27. }
  28.  
  29. //for (int i = 0; i < floor + 1; i++) {
  30. // for (int j = 0; j < roomNumber; j++) {
  31. //cout << arr[i][j] << " ";
  32. //}
  33. //cout << "\n";
  34. //}
  35.  
  36. cout << arr[floor][roomNumber-1] << "\n";
  37.  
  38. for (int i = 0; i < floor; i++) {
  39. delete[] arr[i];
  40. }
  41. delete arr;
  42. }
  43. }
Success #stdin #stdout 0s 4520KB
stdin
2
1
3
2
3
stdout
6
10