https://www.acmicpc.net/problem/2688
2688번: 줄어들지 않아
첫째 줄에 테스트 케이스의 개수 T(1 <= T <= 1,000)이 주어진다. 각 테스트 케이스는 숫자 하나 n으로 이루어져 있다. (1 <= n <= 64)
www.acmicpc.net
[난이도] Gold5
[유형] DP
[풀이]
DP[n][m] : 자리수가 n이면서 m으로 시작하는 수의 개수
#include <cstdio> int t,N; long long a[65][10]; int main(){ scanf("%d",&t); for(int i=0;i<10;i++) a[1][i]=1; for(int i=2;i<65;i++) for(int j=0;j<10;j++) for(int k=0;k<=j;k++) a[i][j]+=a[i-1][k]; while(t--){ scanf("%d",&N); long long ans=0; for(int i=0;i<10;i++) ans+=a[N][i]; printf("%lld\n",ans); } }
https://github.com/has2/Problem-Solving/blob/master/boj-solved.ac/Gold5/2688.cpp
'Problem-Solving > BOJ' 카테고리의 다른 글
[BOJ/백준][Gold3] 1253 : 좋다 (C++) (0) | 2021.05.08 |
---|---|
[BOJ/백준][Gold3] 2300 : 기지국 (C++) (0) | 2021.05.08 |
[BOJ/백준][Gold5] 2812 : 크게 만들기 (C++) (0) | 2021.04.25 |
[BOJ/백준][Gold5] 1405 : 미친 로봇 (C++) (0) | 2021.04.25 |
[BOJ/백준][Gold4] 4256 : 트리 (C++) (0) | 2021.04.25 |