HDU 1518 Square
来源:互联网 发布:ubuntu 14.04 启动器 编辑:程序博客网 时间:2024/06/15 07:06
dfs+剪枝!
AC代码如下:
///dfs+剪枝 62MS 300K#include<iostream>#include<cstring>#include<algorithm>#include<cstdio>using namespace std;int n,m;int a[50];int vis[50];bool cmp(int a,int b){ return a>b;}int dfs(int v,int cur,int bg){ if(cur==4) return 1; int i; for(i=bg;i<n;i++) { int flag=0; if(!vis[i]&&a[i]+v==m) { flag=1; vis[i]=1; if(dfs(0,cur+1,0)) return 1; vis[i]=0; return 0; } if(!vis[i]&&a[i]+v<m) { flag=1; vis[i]=1; if(dfs(a[i]+v,cur,i+1)) return 1; vis[i]=0; if(v==0) return 0; } while(flag&&i+1<n&&a[i+1]==a[i]) i++; } return 0;}int main(){ int t; int i; scanf("%d",&t); while(t--) { int sum=0; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i]); sum+=a[i]; } sort(a,a+n,cmp); if(sum%4!=0||a[0]>sum/4) { printf("no\n"); continue; } m=sum/4; memset(vis,0,sizeof vis); if(dfs(0,0,0)) printf("yes\n"); else printf("no\n"); } return 0;}
1 0
- dfs hdu 1518 square
- hdu 1518 Square (DFS)
- hdu 1518 Square
- HDU 1518 Square
- Hdu 1518 - Square
- HDU 1518 - Square
- HDU 1518 Square
- HDU 1518 Square
- hdu 1518 Square
- hdu 1518 square
- hdu 1518 Square(dfs)
- HDU 1518 Square
- Square hdu 1518
- hdu 1518 Square
- 【DFS】hdu 1518 Square
- HDU-1518 Square(DFS)
- hdu-1518-Square
- hdu-1518-Square
- Android中获取SD卡下的图片资源
- javaScript模块规范、AMD、CMD
- HDOJ 题目2716 Message Decowding(水题)
- 单词按照字典序排序
- 黑马程序员 (ARC)内存管理总结 ----- 我这是学会了嘛
- HDU 1518 Square
- uva 699(二叉树)
- WebSerivice添加进程
- 关于数学的常用函数
- boost库随机函数中的bug
- 11991 - Easy Problem from Rujia Liu?(基础数据结构)
- 开源组件SlidingMenu,侧拉菜单的使用
- oracle data file header replace(测)
- css透明度的设置 (兼容所有浏览器)