Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- long long a,s,d,f;
- vector<vector<long long>> r(3000,vector<long long>(3000,-1));
- long long rrt(long long m,long long n){
- if(m<0){
- return 0;
- }
- if(r[m][n]>-1) {
- return r[m][n];
- }
- if(0==m){
- r[m][n]=1;
- return 1;
- }
- if(n*m==0){
- r[m][n]=0;
- return 0;
- }
- if(n*2<m){
- r[m][n]=0;
- return 0;
- }
- long long t=m-m/2;
- r[m][n]=0;
- for(t=t;t<=n;++t){
- r[m][n]+=rrt(m-t,t/2);
- }
- return r[m][n];
- }
- signed main(){
- freopen("peacefulsets.in","r",stdin);
- freopen("peacefulsets.out","w",stdout);
- cin>>a;
- cout<<rrt(a,a);
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement