这道题和这道题很类似。

这里还是说一下坑点,因为前一道题’等式’的加数只有9个,但是这道题目最大到了15,所以在选择不加符号的时候需要判断是用100去乘还是用10去乘就可以了。

基本代码稍微把相关的9改成n就可以了。具体思路去看一下前面那篇博客哈,下面就直接贴代码了。

#include<bits/stdc++.h>
using namespace std;
int n,cnt=0;
int num[16];//0.1+2-
bool flag;
void dfs(int sum)
{
if(sum==n+1)
{
int q=0,p;
for(int i=1;i<=n;)
{
if(num[i]==1)flag=1;
if(num[i]==2)flag=0;
p=i;
i++;
while(!num[i]&&i<=n)
{
if(i<10)
p=p*10+i;
else p=p*100+i;
i++;
}
if(flag)q+=p;
else q-=p;
}
if(q==0)
{
cnt++;
if(cnt<=20)
{
cout<<1;
for(int i=2;i<=n;i++)
{
if(num[i]==1)cout<<" + ";
if(num[i]==2)cout<<" - ";
if(num[i]==0)cout<<" . ";
cout<<i;
}
cout<<endl;
}
}
return;
}
num[sum]=1;
dfs(sum+1);
num[sum]=2;
dfs(sum+1);
num[sum]=0;
dfs(sum+1);
return;
}
int main()
{
cin>>n;
num[1]=1;
dfs(2);
cout<<cnt<<endl;
return 0;
}

ov.

最新文章

  1. C#-WebForm-文件上传-FileUpload控件
  2. 【WPF】制作自定义的列表项面板
  3. .net AES加密解密
  4. jquery获取radio和select选中值
  5. 【BZOJ1257】【CQOI2007】余数之和sum
  6. RegExp 对象的三个方法:compile()、exec()、test()
  7. POJ C++程序设计 编程题#1 编程作业—文件操作与模板
  8. 不变性、协变性和逆变性(Invariance, Covariance &amp; Contravariance)
  9. POJ 3007 Organize Your Train part II(哈希链地址法)
  10. SGU Volume 1
  11. DirectX11 学习笔记3 - 创建一个立方体 和 轴
  12. Hadoop权威指南:FSDataInputStream对象
  13. 微信小程序框架探究和解析
  14. python 线程(创建2种方式,锁,死锁,递归锁,GIL锁,守护进程)
  15. 怎样让两个DIV在同一水平线上面显示
  16. java常见面试题及三大框架面试
  17. la 4394
  18. Could not locate executable null\bin\winutils.exe in the Hadoop binaries.
  19. alias 创建别名
  20. CorelDRAW中如何复制对象属性详解

热门文章

  1. SQL Server 命名实例更改端口进行发布订阅
  2. 零元学Expression Blend 4 - Chapter 33 简单轻松的学会如何使用Visual States(下)
  3. 进程间通信 - 动态链接库中共享内存(利用DLL的2~3G的地址段空间)
  4. 如何在 Xcode 中进行 Qt 开发(可使用使用 Homebrew 来安装qt)
  5. C++实现半透明按钮控件(PNG,GDI+)
  6. Hadoop 三剑客之 —— 集群资源管理器 YARN
  7. 深度强化学习day01初探强化学习
  8. Python 爬虫从入门到进阶之路(七)
  9. 05 div的嵌套
  10. 论文研读Unet++