1 条题解
-
1240810cj杨宇诚 (杨宇诚) LV 8 @ 2024-08-05 12:47:59
#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
- 上传者