hdu 4403 A very hard Aoshu problem【dfs枚举】
来源:互联网 发布:图形化编程软件优缺点 编辑:程序博客网 时间:2024/06/07 06:21
点击打开链接
题意:
给你一串数字,你可以在数字之间添加一个“=”以及若干“+”号。问你问你有多少种合法的放法。
题解:
直接暴力枚举,枚举所有出加法,和合并的值。然后一个一个匹配。
#include<bits/stdc++.h>#define ll long longusing namespace std;string s,ed="END";int len,ans=0;int d[20],c[20],num[20];void dfs(int pos){ int ret,cnt; if(pos>len) return ; if(pos==len-1){ cnt=ret=0; c[0]=0; for(int i=0;i<len;++i){ ret=ret*10+num[i]; if(d[i]){ c[++cnt]=c[cnt-1]+ret; ret=0; } } if(ret) c[++cnt]=c[cnt-1]+ret; for(int i=1;i<cnt;++i){ if(c[i]==c[cnt]-c[i]) ans++; } } d[pos]=1; dfs(pos+1); d[pos]=0; dfs(pos+1);}int main(){ while(cin>>s){ if(s==ed) break; len=s.size(); ans=0; for(int i=0;i<len;++i) num[i]=s[i]-'0'; dfs(0); printf("%d\n",ans); } return 0;}
阅读全文
0 0
- hdu 4403 A very hard Aoshu problem【dfs枚举】
- HDU 4403 A very hard Aoshu problem (状态压缩+枚举)
- HDU 4403 A very hard Aoshu problem (DFS)
- HDU 4403 A very hard Aoshu problem(DFS)
- HDU 4403 A very hard Aoshu problem(DFS)
- HDU 4403 A very hard Aoshu problem (DFS暴力)
- HDU 4403 A very hard Aoshu problem(DFS+暴力)
- HDU 4403 A very hard Aoshu problem(双向dfs)
- HDU 4403 A very hard Aoshu problem (DFS)
- hdu 4403 A very hard Aoshu problem(dfs)
- HDU 4403 A very hard Aoshu problem【DFS】
- HDU 4403 A very hard Aoshu problem DFS
- HDU 4403 A very hard Aoshu problem (DFS+状压)
- HDU 4403 A very hard Aoshu problem
- hdu 4403 A very hard Aoshu problem
- HDU:4403 A very hard Aoshu problem
- HDU 4403 A very hard Aoshu problem
- HDU 4403 A very hard Aoshu problem
- 用VS Code打造最佳Markdown编辑器
- 全概率与条件概率的组合推导
- spring spring 各种异常
- 欢迎使用CSDN-markdown编辑器
- 简化函数调用
- hdu 4403 A very hard Aoshu problem【dfs枚举】
- 关于网络编程的一些概念
- Paint.getTextBounds()的记录
- Java&Net二维码的应用
- [Leetcode 41] First Missing Positive
- Java
- 守护进程
- eclipse加载maven工程提示pom.xml无法解析org.apache.maven.plugins:maven-resources-plugin:2.4.3解决方案
- 【QT】Qt for Embedded Linux Architecture