Language: C++

#include <iostream>
#include <vector>

constexpr int MOD = 1000000007;

int main()
{
  int n;
  cin >> n;
  if (n < 3)
  {
    cout << 0 << endl;
    return 0;
  }
  vector<vector<int>> dp(n + 1, vector<int>(n + 1));
  for (int i = 0; i < n + 1; i++)
  {
    dp[0][i] = 0;
    dp[1][i] = 0;
    dp[2][i] = 0;
    
    dp[i][0] = 0;
    dp[i][1] = 0;
    dp[i][2] = 0;
  }
  
  for (int i = 3; i < n + 1; i++)
    for (int j = 3; j < n + 1; j++)
    {
      if (j <= i)
      	dp[i][j] = dp[i][j - 1] + dp[i - j][j];
      else
        dp[i][j] = dp[i][i];
    }
  
  cout << dp[n][n] << endl;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:9:3: error: 'cin' was not declared in this scope; did you mean 'std::cin'?
    9 |   cin >> n;
      |   ^~~
      |   std::cin
In file included from a.cc:1:
/usr/include/c++/14/iostream:62:18: note: 'std::cin' declared here
   62 |   extern istream cin;           ///< Linked to standard input
      |                  ^~~
a.cc:12:5: error: 'cout' was not declared in this scope; did you mean 'std::cout'?
   12 |     cout << 0 << endl;
      |     ^~~~
      |     std::cout
/usr/include/c++/14/iostream:63:18: note: 'std::cout' declared here
   63 |   extern ostream cout;          ///< Linked to standard output
      |                  ^~~~
a.cc:12:18: error: 'endl' was not declared in this scope; did you mean 'std::endl'?
   12 |     cout << 0 << endl;
      |                  ^~~~
      |                  std::endl
In file included from /usr/include/c++/14/iostream:41:
/usr/include/c++/14/ostream:744:5: note: 'std::endl' declared here
  744 |     endl(basic_ostream<_CharT, _Traits>& __os)
      |     ^~~~
a.cc:15:3: error: 'vector' was not declared in this scope
   15 |   vector<vector<int>> dp(n + 1, vector<int>(n + 1));
      |   ^~~~~~
a.cc:15:3: note: suggested alternatives:
In file included from /usr/include/c++/14/vector:66,
                 from a.cc:2:
/usr/include/c++/14/bits/stl_vector.h:428:11: note:   'std::vector'
  428 |     class vector : protected _Vector_base<_Tp, _Alloc>
      |           ^~~~~~
/usr/include/c++/14/vector:93:13: note:   'std::pmr::vector'
   93 |       using vector = std::vector<_Tp, polymorphic_allocator<_Tp>>;
      |             ^~~~~~
a.cc:15:17: error: expected primary-expression before 'int'
   15 |   vector<vector<int>> dp(n + 1, vector<int>(n + 1));
      |                 ^~~
a.cc:18:5: error: 'dp' was not declared in this scope
   18 |     dp[0][i] = 0;
      |     ^~
a.cc:31:9: error: 'dp' was not declared in this scope
   31 |         dp[i][j] = dp[i][j - 1] + dp[i - j][j];
      |         ^~
a.cc:33:9: error: 'dp' was not declared in this scope
   33 |         dp[i][j] = dp[i][i];
      |         ^~
a.cc:36:3: error: 'cout' was not declared in this scope; did you mean 'std::cout'?
   36 |   cout << dp[n][n] << endl;
      |   ^~~~
      |   std::cout
/usr/include/c++/14/iostream:63:18: note: 'std::cout' declared here
   63 |   extern ostream cout;          ///< Linked to standard output
      |                  ^~~~
a.cc:36:11: error: 'dp' was not declared in this scope
   36 |   cout << dp[n][n] << endl;
      |           ^~
a.cc:36:23: error: 'endl' was not declared in this scope; did you mean 'std::endl'?
   36 |   cout << dp[n][n] << endl;
      |                       ^~~~
      |                       std::endl
/usr/include/c++/14/ostream:744:5: note: 'std::endl' declared here
  744 |     endl(basic_ostream<_CharT, _Traits>& __os)
      |     ^~~~