hdu 4403
水水的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的更多相关文章
- HDU 4403 A very hard Aoshu problem(dfs爆搜)
http://acm.hdu.edu.cn/showproblem.php?pid=4403 题意: 给出一串数字,在里面添加一个等号和多个+号,使得等式成立,问有多少种不同的式子. 思路: 数据量比 ...
- hdu 4403 dfs
巨麻烦的模拟题orz.... 先确定等号的位置,然后两层dfs,分别算等号前面的和后面的,再比较 话说这题竟然不开long long都能水过 #include <iostream> #in ...
- hdu 4403 简单搜索
思路:分等号左边和右边进行搜索 #include<iostream> #include<cstdio> #include<cstring> #include< ...
- hdu 4403 枚举
#include<cstdio> #include<cstring> #include<iostream> #include<cmath> #inclu ...
- HDU 4403 A very hard Aoshu problem(DFS)
A very hard Aoshu problem Problem Description Aoshu is very popular among primary school students. I ...
- HDU 4403 A very hard Aoshu problem
暴力$dfs$. 先看数据范围,字符串最长只有$15$,也就是说枚举每个字符后面是否放置“$+$”号的复杂度为${2^{15}}$. 每次枚举到一种情况,看哪些位置能放“$=$”号,每个位置都试一下, ...
- hdu 4403 爆搜
题意:给一串数字,在其间加入若干加号和一个等号,问使等式成立的方案总数 if the digits serial is "1212", you can get 2 equation ...
- 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 ...
- [GodLove]Wine93 Tarining Round #6
比赛链接: http://vjudge.net/contest/view.action?cid=47642#overview 题目来源: 2012 ACM/ICPC Asia Regional Jin ...
随机推荐
- android 中int 和 String 互相转换的多种方法
1 .如何将字串 String 转换成整数 int? A. 有两个方法: 1). int i = Integer.parseInt([String]); 或 i = Integer.parseInt( ...
- iPad accessory communication through UART
We manufacture a new accessory for iPad/iPhone which should transfer commands to the iPad. We like t ...
- Activity的启动模式(android:launchMode)
在android里,有4种activity的启动模式,分别为: “standard” (默认) “singleTop” “singleTask” “singleInstance” 它们主要有如下不同: ...
- Javascript之获取屏幕宽高
<head> <title> new document </title> <meta name="generator" content=& ...
- java进阶一之jdk8新特性
1.官方发布的jdk8新特性 2.51CTO相关专题
- C++ sizeof操作符的用法和strlen函数的区别
摘要:本人首先介绍了C++中sizeof操作符的用法和注意事项,其次对比了和strlen的区别和使用,方便大家在写代码的时候查阅,和面试.笔试的时候复习. 目录: sizeof的用法: sizeof和 ...
- Java多线程(四) 线程池
一个优秀的软件不会随意的创建.销毁线程,因为创建和销毁线程需要耗费大量的CPU时间以及需要和内存做出大量的交互.因此JDK5提出了使用线程池,让程序员把更多的精力放在业务逻辑上面,弱化对线程的开闭管理 ...
- C# Json数据反序列化为Dictionary并根据关键字获取指定值1
Json数据: { "dataSet": { "header": { "returnCode": "0", " ...
- object-c实现的 在PHP中oauth加密算法
说起这个算法,在php中我是这么实现的 function generateSig ($params, $secret = '') { if (empty($secret)) { ...
- javascript的setTimeout以及setInterval休眠问题。
前端码农们在做项目中时候,必定不可少的需要做到轮播效果.但是有些特殊的需求,比如: 需要做到第一个容器内容轮播滚动之后,第二个容器内部再轮播滚动,再第三个容器内容轮播滚动. 这时候我的一开始的思路是: ...