计蒜客 正方形 (dfs好题,具有参考价值)
来源:互联网 发布:xd是什么软件 编辑:程序博客网 时间:2024/06/03 12:52
题目:
题目思路:先将木棍长度数组降序排序,dfs前先判断一下是否符合题意,然后进行dfs,dfs出结果就退出,需要剪枝的地方,dfs 用一个参数记录上一次搜索的位置在哪里,下一次搜索只会在这条边之后。搜索完一条边后pos再置为0。
代码:
#include<bits/stdc++.h>using namespace std;int l[30];bool mark[30];int n,sum,one;bool cmp(int a,int b){ return a>b;}int flag=0;void dfs(int onel,int num,int pos){ if(flag==1) return ; if(num==3){ flag=1; return ; } if(onel == 0){ num++; onel=one; pos=0; } for(int i=pos;i<n;i++){ if(!mark[i]){ if(onel>=l[i]){ mark[i]=true;//标记为已访问 dfs(onel-l[i],num,i); mark[i]=false;//未访问 } } }}int main(){ fill(mark,mark+30,false); cin>>n; int sum=0; for(int i=0;i<n;i++){ cin>>l[i]; sum+=l[i]; } one = sum/4; sort(l,l+n,cmp); if(l[0]>one||sum%4) cout<<"No"<<endl; else{ dfs(one,0,0); if(flag==1) cout<<"Yes"<<endl; else cout<<"No"<<endl; }}
阅读全文
0 0
- 计蒜客 正方形 (dfs好题,具有参考价值)
- 具有参考价值的空间
- directshow编译中出现的一些问题,好贴,具有参考价值
- 完美正方形(DFS)
- 这个网站的资料很好。具有参考价值
- HDU 2589 正方形划分(DFS+回溯)
- 完美正方形(DFS 暴力搜索)
- 一份好的商业计划书提纲,很有参考价值。
- 我一个同学朋友关于消息头的定义,非常具有参考价值
- python编码规范工具PyLint (未亲测,但是头部分具有参考价值)
- HDU2589 正方形划分 【DFS】
- HDU2589 正方形划分【DFS】
- 正方形划分【dfs】
- HDU-5696-区间的价值(DFS)
- ★nyoj306(二分+dfs 好题)
- dfs好题一道
- 习题7-6:重叠的正方形(暴力DFS)
- 相关代码参考价值
- 007讲函数与递归
- java socket长连接服务端
- L2-012. 关于堆的判断
- Networking
- swustoj-A interesting game(0194)(博弈)
- 计蒜客 正方形 (dfs好题,具有参考价值)
- 详解科大讯飞语音识别
- 13爬楼梯问题
- L2-013. 红色警报
- VS2008-Addin开发-笔记
- 008讲字典与集合
- python中的迭代器Iterator
- DataBinding 使用方式
- 递归解决换零钱问题