【DFS】hdu 4277 USACO ORZ
来源:互联网 发布:office办公软件自学 编辑:程序博客网 时间:2024/06/05 15:16
http://acm.hdu.edu.cn/showproblem.php?pid=4277
题意:某人需要用所有的栅栏围成一个三角形,计算最多可以围成多少种不同(至少一条边不同)的三角形?
分析:用set构造唯一值判重,注意要用到所有的木棒,构成三角形
#include <iostream>#include <cstdio>#include <cstring>#include <set>#include <algorithm>using namespace std;const int NM=20;set<__int64>s1;int a[NM],n,sum;void DFS(int x,int y,int z,int i){if(i==n) {if(z>x || z>y || y>x) //z<=y<=x,剪枝 return;if(x && y && z && z+y>x){__int64 t=x*sum*sum+y*sum+z;s1.insert(t);}return;}DFS(x+a[i],y,z,i+1);DFS(x,y+a[i],z,i+1);DFS(x,y,z+a[i],i+1);}int main(){int T,i;scanf("%d",&T);while(T--){scanf("%d",&n);sum=0;for(i=0;i<n;i++){scanf("%d",&a[i]);sum+=a[i];}s1.clear();DFS(0,0,0,0);printf("%d\n",s1.size());}return 0;}/*304 1 2 3 451 1 1 1 12 [(3,3,4),(2,4,4)]1 [(1,2,2)]*/
- 【DFS】hdu 4277 USACO ORZ
- HDU 4277 USACO ORZ DFS
- hdu 4277 USACO ORZ DFS
- HDU 4277 USACO ORZ (dfs + hash)
- hdu 4277 USACO ORZ (dfs+hash)
- HDU 4277 USACO ORZ
- HDU 4277 - USACO ORZ
- hdu 4277 USACO ORZ
- HDU 4277 USACO ORZ
- HDU 4277 USACO ORZ
- HDU 4277 USACO ORZ
- hdu 4277 USACO ORZ
- HDU-4277 USACO ORZ
- hdu 4277 USACO ORZ
- hdoj 4277 USACO ORZ 【DFS】
- hdu 4277 USACO ORZ (dfs暴搜+hash)
- HDU 4277 USACO ORZ(DFS爆搜 + set判重复)
- hdu 4277 USACO ORZ(dfs搜索+set判重)
- JAVA基于HTTPS的加密远程调用的实现
- 单例设计模式--binbinyang
- 最长上升下降子序列
- JVM 调优总结(二) 一些概念
- VBS使用SMTP协议发送邮件
- 【DFS】hdu 4277 USACO ORZ
- oracle 数据类型详解---日期型
- 阿里云挂载数据盘
- 继承:复用接口
- 学习第一个Windows Phone 7程序
- 是一个(is-a)与像是一个(is-like-a)关系
- compression image in ROS
- mac下无make命令解决方法
- 无法加载 DLL“SQLite.Interop.DLL”: 找不到指定的模块。 (异常来自 HRESULT:0x8007007E)。