Notice
                              
                          
                        
                          
                          
                            Recent Posts
                            
                        
                          
                          
                            Recent Comments
                            
                        
                          
                          
                            Link
                            
                        
                    | 일 | 월 | 화 | 수 | 목 | 금 | 토 | 
|---|---|---|---|---|---|---|
| 1 | ||||||
| 2 | 3 | 4 | 5 | 6 | 7 | 8 | 
| 9 | 10 | 11 | 12 | 13 | 14 | 15 | 
| 16 | 17 | 18 | 19 | 20 | 21 | 22 | 
| 23 | 24 | 25 | 26 | 27 | 28 | 29 | 
| 30 | 
                            Tags
                            
                        
                          
                          - GeeksForGeeks
- UE5
- directx
- 언리얼엔진5
- 줄 세우기
- winapi
- Programmers
- UnrealEngine5
- 2294
- 팰린드롬 만들기
- RVO
- 백준
- UnrealEngine4
- C
- softeer
- 오블완
- 프로그래머스
- Frustum
- C++
- IFileDialog
- DirectX11
- algorithm
- TObjectPtr
- Unreal Engine5
- const
- RootMotion
- 티스토리챌린지
- 1563
- baekjoon
- NRVO
                            Archives
                            
                        
                          
                          - Today
- Total
Game Develop
[Algorithm]Baekjoon 15988번 : 1,2,3 더하기 3 본문
https://www.acmicpc.net/problem/15988
15988번: 1, 2, 3 더하기 3
각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 1,000,000,009로 나눈 나머지를 출력한다.
www.acmicpc.net
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | #define MAX_NUM 1000000009; long long dpArray[1000001]; long dp(int n) {     for (int i = 5; i <= n; i++)     {         dpArray[i] = (dpArray[i - 1] + dpArray[i - 2] + dpArray[i - 3]) % MAX_NUM;     }     return dpArray[n]; } int main() {     ios::sync_with_stdio(false);     cin.tie(0);     cout.tie(0);     int num = 0;     int temp = 0;     vector<int> result;     dpArray[0] = 0;     dpArray[1] = 1;     dpArray[2] = 2;     dpArray[3] = 4;     dpArray[4] = 7;     cin >> num;     for (int i = 0; i < num; i++)     {         cin >> temp;         result.push_back(dp(temp));     }     for (auto temp : result)     {         cout << temp << endl;     } } | cs | 
바로 이전문제인 1,2,3더하기 문제랑 동일한 문제인데 거기에 약간의 추가조건만 달린 문제이다.
n값이 최대 100만에다가 결과값에 1000000007을 나눈 나머지를 출력하는 문제이다.
은근히 이런 문제들이 꽤 나오는것같다.
과감하게 데이터타입을 long이나 long long으로 해주자
'Algorithm > Baekjoon' 카테고리의 다른 글
| [Algorithm]Baekjoon 1707번 : 이분 그래프 (0) | 2022.09.11 | 
|---|---|
| [Algorithm]Baekjoon 11404번 : 플로이드 (0) | 2022.09.06 | 
| [Algorithm]Baekjoon 9095번 : 1,2,3 더하기 (0) | 2022.09.05 | 
| [Algorithm]Baekjoon 2667번 : 단지번호붙이기 (0) | 2022.08.08 | 
| [Algorithm]Baekjoon 1987번 : 숨바꼭질 (0) | 2022.08.06 | 
