문제

링크

풀이

#include <iostream>
#include <vector>
using namespace std;
 
void solve(void) {
  vector<long long> v(51);
  v[1] = 1;
  v[2] = 1;
  v[3] = 1;
  v[4] = 2;
  v[5] = 3;
  v[6] = 5;
  v[7] = 9;
  v[8] = 18;
  v[9] = 35;
  v[10] = 75;
  v[11] = 159;
  v[12] = 355;
  v[13] = 802;
  v[14] = 1858;
  v[15] = 4347;
  v[16] = 10359;
  v[17] = 24894;
  v[18] = 60523;
  v[19] = 148284;
  v[20] = 366319;
  v[21] = 910726;
  v[22] = 2278658;
  v[23] = 5731580;
  v[24] = 14490245;
  v[25] = 36797588;
  v[26] = 93839412;
  v[27] = 240215803;
  v[28] = 617105614;
  v[29] = 1590507121;
  v[30] = 4111846763;
  v[31] = 10660307791;
  v[32] = 27711253769;
  v[33] = 72214088660;
  v[34] = 188626236139;
  v[35] = 493782952902;
  v[36] = 1295297588128;
  v[37] = 3404490780161;
  v[38] = 8964747474595;
  v[39] = 23647478933969;
  v[40] = 62481801147341;
  v[41] = 165351455535782;
  v[42] = 438242894769226;
  v[43] = 1163169707886427;
  v[44] = 3091461011836856;
  v[45] = 8227162372221203;
  v[46] = 21921834086683418;
  v[47] = 58481806621987010;
  v[48] = 156192366474590639;
  v[49] = 417612400765382272;
  v[50] = 1117743651746953270;
 
  int n; cin >> n;
  cout << v[n];
}
 
int main(void) {
  ios::sync_with_stdio(false);
  cin.tie(nullptr);
 
  solve();
  return 0;
}