听灌佬多
  • 板块灌水区
  • 楼主gjr19509
  • 当前回复2
  • 已保存回复2
  • 发布时间2024/10/3 10:05
  • 上次更新2024/10/3 12:04:26
查看原帖
听灌佬多
1057116
gjr19509楼主2024/10/3 10:05
#include <iostream>
#include <map>
#define I return
#define AK 0
#define IOI ;
using namespace std;
int dfs(int,map<int,int>);
signed main() {
    int n;scanf("%d",&n);
    map<int,int> x;
    printf("%d",dfs(n,x));
    I AK IOI
}
int dfs(int cur,map<int,int> x){
    if (cur==1)return 1;
    if (cur==0)return 0;
    if (x.find(cur)!=x.end())return x[cur];
    int r=1;
    for (int i = 1; i <= cur/2; ++i) {
        r+= dfs(i,x);
    }
    x[cur]=r;
    return r;
}

题目 评测

2024/10/3 10:05
加载中...