숫자 d가 있다고 가정합니다. 정사각형 타일과 변의 길이가 1인 정삼각형 타일이 무한히 있다고 가정합니다. 이 타일을 사용하여 변이 d인 정십이각형(12면 다각형)을 만들 수 있는 방법의 수를 찾아야 합니다. 답이 너무 크면 결과 모드 998244353을 반환합니다.
단계
이 문제를 해결하기 위해 다음 단계를 따르겠습니다-
b := floor of d/2 - 1 c := 1 for initialize i := 2, when i < d, update (increase i by 1), do: b := b * (floor of d/2) c := c * i return (b / c)
예
이해를 돕기 위해 다음 구현을 살펴보겠습니다. −
#include <bits/stdc++.h> using namespace std; int solve(int d){ int b = ((d << 1) - 1); int c = 1; for (int i = 2; i < d; i++){ b *= (d << 1) - i; c *= i; } return (b / c); } int main(){ int d = 1; cout << solve(d) << endl; }
입력
1
출력
1