zoukankan      html  css  js  c++  java
  • hdu 4403 爆搜

    题意:给一串数字,在其间加入若干加号和一个等号,问使等式成立的方案总数

    if the digits serial is "1212", you can get 2 equations, they are "12=12" and "1+2=1+2".

    一看就是搜索,但是不太好写,还是参考了kuang神和这里

    的大神写的

    先枚举左边的所有和的情况,然后判断右边是否存在相等的情况

     1 #include<cstdio>
     2 #include<iostream>
     3 #include<algorithm>
     4 #include<cstring>
     5 #include<cmath>
     6 #include<queue>
     7 #include<map>
     8 using namespace std;
     9 #define MOD 1000000007
    10 const int INF=0x3f3f3f3f;
    11 const double eps=1e-5;
    12 typedef long long ll;
    13 #define cl(a) memset(a,0,sizeof(a))
    14 #define ts printf("*****
    ");
    15 const int MAXN=20;
    16 char s[MAXN];
    17 int n,m,tt;
    18 ll sum[MAXN][MAXN],len,ans,pos;
    19 void dfs2(int i,ll d,ll pre)
    20 {
    21     if(i>len)
    22     {
    23         if(pre==d)  ans++;
    24         return;
    25     }
    26     for(int k=i;k<=len;k++)
    27     {
    28         dfs2(k+1,d+sum[i][k],pre);
    29     }
    30     return;
    31 }
    32 void dfs1(int i,ll d)
    33 {
    34     if(i>pos)   dfs2(pos+1,0,d);
    35     for(int k=i;k<=pos;k++) //在第k个位置上放置加号
    36     {
    37         dfs1(k+1,d+sum[i][k]);
    38     }
    39     return;
    40 }
    41 int main()
    42 {
    43     int i,j,k;
    44     #ifndef ONLINE_JUDGE
    45     freopen("1.in","r",stdin);
    46     #endif
    47     while(scanf("%s",s+1))
    48     {
    49         ans=0;
    50         if(s[1]=='E')   break;
    51         len=strlen(s+1);
    52         for(i=1;i<=len;i++)
    53         {
    54             for(j=i;j<=len;j++)
    55             {
    56                 sum[i][j]=0;
    57                 for(k=i;k<=j;k++)   sum[i][j]=sum[i][j]*10+s[k]-'0';
    58             }
    59         }
    60         for(pos=1;pos<len;pos++)
    61         {
    62             dfs1(1,0);
    63         }
    64         printf("%I64d
    ",ans);
    65     }
    66 }
  • 相关阅读:
    spark学习进度9
    spark学习进度8-scrapy框架的安装与使用
    spark学习进度7-Python爬取大学排名实例
    spark学习进度6-Python爬取数据的四个简单实例
    spark学习进度5-利用开发工具IntelliJ IDEA编写Spark应用程序(Scala+Maven)
    Scala官网下载不下来问题-已解决
    spark学习进度4
    大数据学习总结07
    大数据学习总结06
    大数据学习总结05
  • 原文地址:https://www.cnblogs.com/cnblogs321114287/p/4364489.html
Copyright © 2011-2022 走看看