1 条题解
-
1
#include<iostream> using namespace std; int n,ans=0; int wo(int x,int y,bool op){//清算序列 if(op) x+=y; else x-=y; return x; } void search(int now,int wait,int nownum,bool op){//分别定义,当前总和,待运算序列,当前层操作数,待运算序列符号(1为+,0为-) if(nownum==10){//触底判断 if(wo(now,wait,op)==n) ans++; return; } search(now,wait*10+nownum,nownum+1,op);//将当前操作数累入待运算序列 if(wait)//待运算序列不为0,则清算 for(int i=0;i<=1;i++) search(wo(now,wait,op),0,nownum,i); return; } int main(){ cin>>n; search(0,1,2,1);//搜索 cout<<ans; return 0; }
信息
- ID
- 451
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- 递交数
- 49
- 已通过
- 21
- 上传者