返回顶部

收藏

Dessert 深度搜索

更多

[C/C++]代码

#include<stdio.h>
char c[16];
int n,ans;

void dfs(int sum,int num,int k)
{ 
int i; 
int x,y;
if(k==n)
{      
if(sum+num==0)    
{    
   if(ans<20)    
   {      
    printf("1");      
    for(i=1;i<=n-1;i++)         
     printf(" %c %d",c[i],i+1);    
    printf("\n");    
   }         
   ans++; 
} 
return ; 
} 
c[k]='+';
dfs(sum+num,k+1,k+1);
c[k]='-'; 
dfs(sum+num,-1*(k+1),k+1);
c[k]='.';
x=(k+1>=10)?100:10;
y=(num<0)?-1:1; 
dfs(sum,(num)*x+y*(k+1),k+1);
}

int main()
{   
   while(scanf("%d",&n)!=EOF)
   {   
       ans=0; 
       dfs(0,1,1);   
       printf("%d\n",ans);
   }   
   return 0;
}

标签:c/c++

收藏

0人收藏

支持

0

反对

0

相关聚客文章
  1. yuer 发表 2018-07-27 08:46:07 coredump之百米之内必有解药
  2. hev 发表 2018-04-28 06:11:38 一个简单、轻量的 Linux 协程实现
  3. hev 发表 2017-10-19 15:56:11 FSH – 助你接入私有网络中的 Linux 终端
  4. gonwan 发表 2015-04-15 08:03:07 Database Access Layer in C++
  5. gonwan 发表 2015-12-28 08:41:13 Basic Usage of Boost MultiIndex Containers
  6. gonwan 发表 2016-01-19 03:37:54 Coroutines in C++/Boost
  7. Haoxiang Li 发表 2017-10-25 20:29:02 MXNet C++ Deployment
  8. yuer 发表 2017-10-20 07:52:47 基于leveldb的持久消息队列SDK
  9. yuer 发表 2017-10-07 07:51:32 c++11完美转发
  10. 博主 发表 2016-09-03 00:00:00 C++编译期类型信息的利用
  11. yuer 发表 2017-09-06 03:03:29 libcurl访问unix socket
  12. yuer 发表 2017-09-07 08:14:58 valgrind检测php扩展的warning