The 37th ACM/ICPC Asia Regional JinHua Site Online Contest - D(爆搜)

来自ZZY的博客:http://blog.csdn.net/kk303/article/details/8008058

 

D - A very hard Aoshu problem

     数据范围很小呃... 暴力搜索即可...枚举等号的位置...再DFS得出左边的值..再DFS找右边有多少种方案可以等于左边的加法值...


Program:

  1. #include<iostream> 
  2. #include<stdio.h> 
  3. #include<algorithm> 
  4. #include<string.h> 
  5. #include<math.h> 
  6. #include<map> 
  7. #include<queue> 
  8. #include<stack> 
  9. #define ll long long 
  10. #define oo 1000000000 
  11. #define pi acos(-1) 
  12. using namespace std;  
  13. ll ans,T[20][20],len,mid; 
  14. char s[20]; 
  15. void dfs2(int i,ll data,ll pre) 
  16.      int k; 
  17.      if (i>len) 
  18.      { 
  19.           if (data==pre) ans++; 
  20.           return
  21.      } 
  22.      for (k=i;k<=len;k++) 
  23.           dfs2(k+1,data+T[i][k],pre); 
  24.      return
  25. void dfs1(int i,ll data) 
  26.      int k; 
  27.      if (i>mid) dfs2(mid+1,0,data); 
  28.      for (k=i;k<=mid;k++) 
  29.          dfs1(k+1,data+T[i][k]); 
  30.      return
  31. int main() 
  32. {  
  33.      int i,j,k; 
  34.      while (gets(s+1)) 
  35.      {  
  36.             if (s[1]=='E')break
  37.             len=strlen(s+1); 
  38.             for (i=1;i<=len;i++) 
  39.               for (j=i;j<=len;j++) 
  40.               { 
  41.                     T[i][j]=0; 
  42.                     for (k=i;k<=j;k++) T[i][j]=T[i][j]*10+s[k]-'0'
  43.               } 
  44.             ans=0; 
  45.             for (mid=1;mid<len;mid++) 
  46.                  dfs1(1,0); 
  47.             printf("%I64d\n",ans); 
  48.      } 
  49.      return 0; 
#include<iostream>
#include<stdio.h>
#include<algorithm>
#include<string.h>
#include<math.h>
#include<map>
#include<queue>
#include<stack>
#define ll long long
#define oo 1000000000
#define pi acos(-1)
using namespace std; 
ll ans,T[20][20],len,mid;
char s[20];
void dfs2(int i,ll data,ll pre)
{
     int k;
     if (i>len)
     {
          if (data==pre) ans++;
          return ;
     }
     for (k=i;k<=len;k++)
          dfs2(k+1,data+T[i][k],pre);
     return;
}
void dfs1(int i,ll data)
{
     int k;
     if (i>mid) dfs2(mid+1,0,data);
     for (k=i;k<=mid;k++)
         dfs1(k+1,data+T[i][k]);
     return;
}
int main()
{ 
     int i,j,k;
     while (gets(s+1))
     { 
            if (s[1]=='E') break;
            len=strlen(s+1);
            for (i=1;i<=len;i++)
              for (j=i;j<=len;j++)
              {
                    T[i][j]=0;
                    for (k=i;k<=j;k++) T[i][j]=T[i][j]*10+s[k]-'0';
              }
            ans=0;
            for (mid=1;mid<len;mid++)
                 dfs1(1,0);
            printf("%I64d\n",ans);
     }
     return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
毕业设计,基于SpringBoot+Vue+MySQL开发的纺织品企业财务管理系统,源码+数据库+毕业论文+视频演示 在如今社会上,关于信息上面的处理,没有任何一个企业或者个人会忽视,如何让信息急速传递,并且归档储存查询,采用之前的纸张记录模式已经不符合当前使用要求了。所以,对纺织品企业财务信息管理的提升,也为了对纺织品企业财务信息进行更好的维护,纺织品企业财务管理系统的出现就变得水到渠成不可缺少。通过对纺织品企业财务管理系统的开发,不仅仅可以学以致用,让学到的知识变成成果出现,也强化了知识记忆,扩大了知识储备,是提升自我的一种很好的方法。通过具体的开发,对整个软件开发的过程熟练掌握,不论是前期的设计,还是后续的编码测试,都有了很深刻的认知。 纺织品企业财务管理系统通过MySQL数据库与Spring Boot框架进行开发,纺织品企业财务管理系统能够实现对财务人员,员工,收费信息,支出信息,薪资信息,留言信息,报销信息等信息的管理。 通过纺织品企业财务管理系统对相关信息的处理,让信息处理变的更加的系统,更加的规范,这是一个必然的结果。已经处理好的信息,不管是用来查找,还是分析,在效率上都会成倍的提高,让计算机变得更加符合生产需要,变成人们不可缺少的一种信息处理工具,实现了绿色办公,节省社会资源,为环境保护也做了力所能及的贡献。 关键字:纺织品企业财务管理系统,薪资信息,报销信息;SpringBoot
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值