o2做法
```cpp
#include<bits/stdc++.h>
#define int long long
using namespace std;
const int mod=1e9+7;
int dp[1010][1010];
int pre[1010][1010];
void solve(){
int n;cin>>n;
for(int i=0;i<=n;i++){
pre[0][i]=1;
}
for(int i=1;i<=n;i++){
for(int j=1;j<=i;j++){
dp[i][j]=pre[i-j][min(j,i-j)];
pre[i][j]=(dp[i][j]+pre[i][j-1])%mod;
}
}
cout<<pre[n][n]<<"\n";
}
signed main(){
std::ios::sync_with_stdio(false);std::cin.tie(0);std::cout.tie(0);
//int t;cin>>t;while(t--)
solve();
}
```