水水的dfs

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <cmath>
#include <algorithm> using namespace std;
char b[20];
int a[20], ans;
void dfs(int cur, int len)
{
if(cur == len - 1)
{
a[cur] = 1;
int d[2] = {}, k = 0;
int e = 0,flag = 1;
for(int i = 0; i < len; i++)
{
if(a[i] == 0)
e = e * 10 + b[i] - '0';
else if(a[i] == 1)
{
d[k] += e * 10 + b[i] - '0';
e = 0;
}
else if(a[i] == 2)
{
d[k] += e * 10 + b[i] - '0';
e = 0;
k++;
}
if(k >= 2)
{
flag = 0;
break;
}
}
if(flag && d[0] == d[1])
ans++;
}
else
{
for(int i = 0; i < 3; i++)
{
a[cur++] = i;
dfs(cur, len);
cur--;
}
}
}
int main()
{
while(scanf("%s",b) == 1 && strcmp(b, "END"))
{
ans = 0;
int len = strlen(b);
int cur = 0;
for(int i = 0; i < 3; i++)
{
a[cur++] = i;
dfs(cur ,len);
cur--;
}
printf("%d\n",ans);
}
return 0;
}

hdu 4403的更多相关文章

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

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

  2. hdu 4403 dfs

    巨麻烦的模拟题orz.... 先确定等号的位置,然后两层dfs,分别算等号前面的和后面的,再比较 话说这题竟然不开long long都能水过 #include <iostream> #in ...

  3. hdu 4403 简单搜索

    思路:分等号左边和右边进行搜索 #include<iostream> #include<cstdio> #include<cstring> #include< ...

  4. hdu 4403 枚举

    #include<cstdio> #include<cstring> #include<iostream> #include<cmath> #inclu ...

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

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

  6. HDU 4403 A very hard Aoshu problem

    暴力$dfs$. 先看数据范围,字符串最长只有$15$,也就是说枚举每个字符后面是否放置“$+$”号的复杂度为${2^{15}}$. 每次枚举到一种情况,看哪些位置能放“$=$”号,每个位置都试一下, ...

  7. hdu 4403 爆搜

    题意:给一串数字,在其间加入若干加号和一个等号,问使等式成立的方案总数 if the digits serial is "1212", you can get 2 equation ...

  8. 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 ...

  9. [GodLove]Wine93 Tarining Round #6

    比赛链接: http://vjudge.net/contest/view.action?cid=47642#overview 题目来源: 2012 ACM/ICPC Asia Regional Jin ...

随机推荐

  1. android 中int 和 String 互相转换的多种方法

    1 .如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt( ...

  2. iPad accessory communication through UART

    We manufacture a new accessory for iPad/iPhone which should transfer commands to the iPad. We like t ...

  3. Activity的启动模式(android:launchMode)

    在android里,有4种activity的启动模式,分别为: “standard” (默认) “singleTop” “singleTask” “singleInstance” 它们主要有如下不同: ...

  4. Javascript之获取屏幕宽高

    <head> <title> new document </title> <meta name="generator" content=& ...

  5. java进阶一之jdk8新特性

    1.官方发布的jdk8新特性 2.51CTO相关专题

  6. C++ sizeof操作符的用法和strlen函数的区别

    摘要:本人首先介绍了C++中sizeof操作符的用法和注意事项,其次对比了和strlen的区别和使用,方便大家在写代码的时候查阅,和面试.笔试的时候复习. 目录: sizeof的用法: sizeof和 ...

  7. Java多线程(四) 线程池

    一个优秀的软件不会随意的创建.销毁线程,因为创建和销毁线程需要耗费大量的CPU时间以及需要和内存做出大量的交互.因此JDK5提出了使用线程池,让程序员把更多的精力放在业务逻辑上面,弱化对线程的开闭管理 ...

  8. C# Json数据反序列化为Dictionary并根据关键字获取指定值1

    Json数据: { "dataSet": { "header": { "returnCode": "0", " ...

  9. object-c实现的 在PHP中oauth加密算法

    说起这个算法,在php中我是这么实现的 function generateSig ($params, $secret = '') {     if (empty($secret)) {         ...

  10. javascript的setTimeout以及setInterval休眠问题。

    前端码农们在做项目中时候,必定不可少的需要做到轮播效果.但是有些特殊的需求,比如: 需要做到第一个容器内容轮播滚动之后,第二个容器内部再轮播滚动,再第三个容器内容轮播滚动. 这时候我的一开始的思路是: ...