[BOJ] 10844 쉬운 계단 수 C++
문제
코드
#include <iostream>
#include <vector>
long long d[101][10];
long long m= 1000000000;
using namespace std;
int main()
{
int n;
cin>>n;
for(int i=1;i<=9;i++)
{
d[1][i]=1;
}
for(int i=2;i<=n;i++)
{
for(int j=0;j<=9;j++)
{
d[i][j]=0;
if(j-1>=0)
{
d[i][j]+=d[i-1][j-1];
}
if (j+1 <= 9)
{
d[i][j] += d[i-1][j+1];
}
d[i][j]%=m;
}
}
long long sum=0;
for(int i=0;i<=9;i++)
{
sum+=d[n][i];
}
sum%=m;
cout<<sum<<'\n';
return 0;
}
풀이
d[n][l] n은 숫자의길이, l은 마지막에 있는 숫자로 만약 l이 0과 9가 아닐때 각각 d[n-1][l-1],d[n-1][l+1] 을 더해주는 점화식으로 세워 풀었다.
Author And Source
이 문제에 관하여([BOJ] 10844 쉬운 계단 수 C++), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@wjdals0507/BOJ-10844-쉬운-계단-수-C
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
#include <iostream> #include <vector> long long d[101][10]; long long m= 1000000000; using namespace std; int main() { int n; cin>>n; for(int i=1;i<=9;i++) { d[1][i]=1; } for(int i=2;i<=n;i++) { for(int j=0;j<=9;j++) { d[i][j]=0; if(j-1>=0) { d[i][j]+=d[i-1][j-1]; } if (j+1 <= 9) { d[i][j] += d[i-1][j+1]; } d[i][j]%=m; } } long long sum=0; for(int i=0;i<=9;i++) { sum+=d[n][i]; } sum%=m; cout<<sum<<'\n'; return 0; }
풀이
d[n][l] n은 숫자의길이, l은 마지막에 있는 숫자로 만약 l이 0과 9가 아닐때 각각 d[n-1][l-1],d[n-1][l+1] 을 더해주는 점화식으로 세워 풀었다.
Author And Source
이 문제에 관하여([BOJ] 10844 쉬운 계단 수 C++), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@wjdals0507/BOJ-10844-쉬운-계단-수-C
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
d[n][l] n은 숫자의길이, l은 마지막에 있는 숫자로 만약 l이 0과 9가 아닐때 각각 d[n-1][l-1],d[n-1][l+1] 을 더해주는 점화식으로 세워 풀었다.
Author And Source
이 문제에 관하여([BOJ] 10844 쉬운 계단 수 C++), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@wjdals0507/BOJ-10844-쉬운-계단-수-C저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)