1 条题解

  • 1

    #include<bits/stdc++.h>
    using namespace std;
    int n,ans;
    void dfs(int a,int b,int c,int k){//a记录已用数字的数量+1,也是下一个要进行操作的数字
    //b表示后面的数字串,c表示前面的数字串,k记录b开头的数字
    if(a==10){//当A为10时,就可以满足条件进入循环
    if(b+c==n||c-b==n)ans++;
    return;//当他们进行加减后为N的值,就进行统计方案书。
    }
    dfs(a+1,a,c+b,a);//加法
    if(k!=1)dfs(a+1,a,c-b,a);//减法
    dfs(a+1,b*10+a,c,k);//处理合并数的情况
    return;
    }
    int main(){
    cin>>n;
    dfs(2,1,0,1);
    cout<<ans;
    return 0;
    }
    //541881314

  • 1

信息

ID
1011
难度
5
分类
(无)
标签
递交数
23
已通过
11
通过率
48%
被复制
3
上传者