๋ฌธ์
์ฝ๋
#include <iostream>
using namespace std;
int dp[16];
int N,ans;
void dfs(int current,int before_step,int before_before_step){
if(current==N){
ans++;
return;
}
else if(current>N) return;
else{
if(before_step==3||before_before_step==3){
dfs(current+1,1,before_step);
dfs(current+2,2,before_step);
}
else{
dfs(current+1,1,before_step);
dfs(current+2,2,before_step);
dfs(current+3,3,before_step);
}
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(0);
cin>>N;
dfs(1,1,0); //์ฒซ ์์์ ํ์นธ
dfs(2,2,0); //์ฒซ ์์์ ๋์นธ
dfs(3,3,0); //์ฒซ ์์์ ์ธ์นธ
cout<<ans;
}
ํ์ด
๋ฌธ์ ๋ง ์ ๋ชฉ๋ง ๋ณด๊ณ ๋น์ฐํ DP์ธ ์ค ์์๋๋, ์นธ์ ์ค๋ฅด๋ ์ต์ ํ์๊ฐ ์๋๋ผ ๋ชจ๋ ๊ฒฝ์ฐ์ ์๋ผ์ ๋ฐฑํธ๋ํน์ผ๋ก ์ ๊ทผํ์ต๋๋ค.
์ธ ์นธ์ ์ค๋ฅด๋ฉด ๋ค์๋ฒ ์ด๋๊ณผ ๋ค์ ๋ค์ ๋ฒ ์ด๋๊น์ง ํ๋ฒ์ ์ธ ์นธ์ ์ค๋ฅด์ง ๋ชปํฉ๋๋ค.
์ฑ์
'Algorithm ๐ง๐ปโ๐ป > CodeUp' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
1510 : ํ์ ๋ง๋ฐฉ์ง (0) | 2022.01.16 |
---|---|
4503 : ๋ฐ์ด๋ฌ์ค (0) | 2022.01.14 |
3705 : ์ฐ์๋ ๊ตฌ๊ฐ์ ์ต๋ํฉ (0) | 2022.01.14 |
3108 : ์ ์ฌ ์ฐธ์ฌ ํ์ ๋ฆฌ์คํธ ๋ง๋ค๊ธฐ 1 (0) | 2022.01.14 |
2633 : Lower Bound (0) | 2022.01.14 |
4060: ์ ๊ดํ ์ ๊ตฌ์กฐ์ (0) | 2022.01.14 |
๋๊ธ