巨麻烦的模拟题orz。。。。

先确定等号的位置,然后两层dfs,分别算等号前面的和后面的,再比较

话说这题竟然不开long long都能水过

 #include <iostream>
#include<cstring>
using namespace std;
int ANS,ansx,ansy,T,l;
string s;
int nx[],ny[],ax[],ay[],a[];
int lx,ly; int calcx()
{
//ax[1..lx-1]
//nx[1..lx]
int tmpn=nx[];
int tmpa=;
for(int i=;i<=lx-;i++)
{
if(ax[i]==)
{
tmpa+=tmpn;
tmpn=nx[i+];
}
else
{
tmpn=tmpn*+nx[i+];
}
}
tmpa+=tmpn;
return tmpa;
} int calcy()
{
//ay[1..ly-1]
//ny[1..ly]
int tmpn=ny[];
int tmpa=;
for(int i=;i<=ly-;i++)
{
if(ay[i]==)
{
tmpa+=tmpn;
tmpn=ny[i+];
}
else
{
tmpn=tmpn*+ny[i+];
}
}
tmpa+=tmpn;
return tmpa;
} void dfsy(int y)
{
if(y==ly)
{
//cout<<nx[1]<<" ";
//for(int i=1;i<=lx-1;i++) cout<<char(ax[i]+'A')<<" "<<nx[i+1]<<" ";
//cout<<"----";
//cout<<ny[1]<<" ";
//for(int i=1;i<=ly-1;i++) cout<<char(ay[i]+'A')<<" "<<ny[i+1]<<" "; ansy=calcy();
//cout<<" "<<ansx<<"=="<<ansy<<" ";
if(ansy==ansx)
{
ANS++;
// cout<<" OK! ";
}
//cout<<endl;
}
else
{
ay[y]=;
dfsy(y+);
ay[y]=;
dfsy(y+);
}
} void dfsx(int x)
{
if(x==lx)
{
ansx=calcx();
dfsy();
}
else
{
ax[x]=; //add a plus after ax[x]
dfsx(x+);
ax[x]=;
dfsx(x+);
}
} int main()
{
while(cin>>s)
{
if(s=="END") break;
l=s.length();
ANS=; ansx=; ansy=;
for(int i=;i<=l;i++)
a[i]=s[i-]-'';
for(int eq=;eq<=l-;eq++) //add equal after a[eq]
{
memset(nx,,sizeof(nx));
memset(ny,,sizeof(ny));
for(int i=;i<=eq;i++) nx[i]=a[i];
lx=eq;
for(int i=eq+;i<=l;i++) ny[i-eq]=a[i];
ly=l-eq;
dfsx();
}
cout<<ANS<<endl;
} return ;
}

hdu 4403 dfs的更多相关文章

  1. HDU 5143 DFS

    分别给出1,2,3,4   a, b, c,d个 问能否组成数个长度不小于3的等差数列. 首先数量存在大于3的可以直接拿掉,那么可以先判是否都是0或大于3的 然后直接DFS就行了,但是还是要注意先判合 ...

  2. Snacks HDU 5692 dfs序列+线段树

    Snacks HDU 5692 dfs序列+线段树 题意 百度科技园内有n个零食机,零食机之间通过n−1条路相互连通.每个零食机都有一个值v,表示为小度熊提供零食的价值. 由于零食被频繁的消耗和补充, ...

  3. HDU 4403 A very hard Aoshu problem(dfs爆搜)

    http://acm.hdu.edu.cn/showproblem.php?pid=4403 题意: 给出一串数字,在里面添加一个等号和多个+号,使得等式成立,问有多少种不同的式子. 思路: 数据量比 ...

  4. HDU 4403 A very hard Aoshu problem(DFS)

    A very hard Aoshu problem Problem Description Aoshu is very popular among primary school students. I ...

  5. HDU 4403 A very hard Aoshu problem (DFS暴力)

    题意:给你一个数字字符串.问在字符串中间加'='.'+'使得'='左右两边相等. 1212  : 1+2=1+2,   12=12. 12345666 : 12+3+45+6=66.  1+2+3+4 ...

  6. HDU 5877 dfs+ 线段树(或+树状树组)

    1.HDU 5877  Weak Pair 2.总结:有多种做法,这里写了dfs+线段树(或+树状树组),还可用主席树或平衡树,但还不会这两个 3.思路:利用dfs遍历子节点,同时对于每个子节点au, ...

  7. hdu 4751(dfs染色)

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4751 思路:构建新图,对于那些两点连双向边的,忽略,然后其余的都连双向边,于是在新图中,连边的点是能不 ...

  8. HDU 1045 (DFS搜索)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=1045 题目大意:在不是X的地方放O,所有O在没有隔板情况下不能对视(横行和数列),问最多可以放多少个 ...

  9. HDU 1241 (DFS搜索+染色)

    题目链接:  http://acm.hdu.edu.cn/showproblem.php?pid=1241 题目大意:求一张地图里的连通块.注意可以斜着连通. 解题思路: 八个方向dfs一遍,一边df ...

随机推荐

  1. vijos P1448 校门外的树

    描述 校门外有很多树,有苹果树,香蕉树,有会扔石头的,有可以吃掉补充体力的--如今学校决定在某个时刻在某一段种上一种树,保证任一时刻不会出现两段相同种类的树,现有两个操作:\(K=1\),读入\(l, ...

  2. [转]注释驱动的 Spring cache 缓存介绍

    原文:http://www.ibm.com/developerworks/cn/opensource/os-cn-spring-cache/ 概述 Spring 3.1 引入了激动人心的基于注释(an ...

  3. Unity 5.3.1 No Android/IOS module loaded

    unity我一直在用5.0以下的版本 昨天升级到了最新版本5.3.1 发现无法打android包,ios也不行 提示“No Android/IOS module loaded” 下面有个Module ...

  4. 自定义圆形控件RoundImageView并认识一下attr.xml

    今天我们来讲一下有关自定义控件的问题,今天讲的这篇是从布局自定义开始的,难度不大,一看就明白,估计有的同学或者开发者看了说,这种方式多此一举,但是小编我不这么认为,多一种解决方式,就多一种举一反三的学 ...

  5. 订餐系统之定时器Timer不定时

    经过几天漫长的问题分析.处理.测试.验证,定时器Timer终于定时了,于是开始了这篇文章,希望对还在纠结于“定时器Timer不定时”的同学有所帮助,现在的方案,在系统日志中会有警告,如果您有更好的方案 ...

  6. 又发现一个msdn的坑

    一个类型里面有两个属性仅仅是大小写区别,可是IIS不区分大小写,问:如何才能查看两个属性里面的文档那? http://msdn.microsoft.com/en-us/library/microsof ...

  7. JavaScript学习笔记-随滚轮匀速滑动的浮动广告窗动画

    <!DOCTYPE html> <html lang="en" xmlns="http://www.w3.org/1999/xhtml"> ...

  8. ContentProvider详解

    作用:把一个App中的数据库通过Url的形式共享出来,供其他App使用. 首先在App1中创建一个数据库,用SQLiteOpenHelper public class MyOpenHelper ext ...

  9. Php 安装 curl

    一.用好tab键.输入一部分,就按两次tab键,看看到底应该安什么

  10. 数据结构——动态链表(C++)

    定义一个节点: [cpp] view plain copy   print? #include <iostream> using namespace std; typedef int T; ...