hdu 4620 多校第二场 搜索
来源:互联网 发布:百无一用是书生知乎 编辑:程序博客网 时间:2024/05/23 15:23
直接水过,太挫了……关键是一开始读不懂题
#include <iostream>#include <cstdio>#include <algorithm>#include <vector>using namespace std;struct P{ int C,T,idx; int f[15];}obj[40];bool cmp(P l,P r){ return l.T<r.T;}int ans[40],ans_cnt,now[40],vis[205];int n,M,W;void dfs(int pos,int last_cut,int cnt){ if(cnt>ans_cnt) { ans_cnt=cnt; for(int i=0;i<cnt;++i) ans[i]=now[i]; } if(pos==n+1 || cnt+n-pos+1<ans_cnt) return; if(last_cut>=0 && obj[pos].T-last_cut>W) return; dfs(pos+1,last_cut,cnt); int nn=0;int ff[12]; for(int i=1;i<=obj[pos].C;++i) if(!vis[obj[pos].f[i]]){ ff[nn++]=obj[pos].f[i];} if(nn<3) return; for(int i=0;i<nn;++i)vis[ff[i]]=1; now[cnt]=obj[pos].idx; dfs(pos+1,obj[pos].T,cnt+1); for(int i=0;i<nn;++i)vis[ff[i]]=0;}int cc,tt,ff[40];int main (){ int ncase; scanf("%d",&ncase); while(ncase--) { scanf("%d%d%d",&n,&M,&W); for(int i=1;i<=n;++i) { scanf("%d%d",&cc,&tt); for(int j=1;j<=cc;++j) scanf("%d",&ff[j]); obj[i].C=cc;obj[i].T=tt;obj[i].idx=i; for(int j=1;j<=cc;++j) obj[i].f[j]=ff[j]; /*scanf("%d%d",&(obj[i].C),&(obj[i].T)); for(int j=1;j<=obj[i].C;++j) scanf("%d",&(obj[i].f[j]));*/ } sort(obj+1,obj+1+n,cmp); ans_cnt=0; memset(vis,0,sizeof(vis)); dfs(1,-1,0); printf("%d\n",ans_cnt);sort(ans,ans+ans_cnt); for(int i=0;i<ans_cnt;++i) { printf("%d",ans[i]); if(i<ans_cnt-1) printf(" "); else printf("\n"); } } return 0;}
- hdu 4620 多校第二场 搜索
- HDU 4620 Fruit Ninja Extreme(2013多校第二场 剪枝搜索)
- HDU 5305 Friends (搜索+剪枝) 2015多校联合第二场
- hdu 5305 Friends(2015多校第二场第6题)记忆化搜索
- 2013 多校第二场 hdu 4620 Fruit Ninja Extreme
- hdu 4617 Weapon 多校第二场
- hdu 4616 Game 多校第二场
- HDU 5303 多校第二场
- 多校第二场
- 多校第二场
- HDU/杭电2013多校第二场解题报告
- hdu 4614 多校联赛第二场 1004题
- 2013 多校第二场 hdu 4619 Warm up 2
- 2013 多校第二场 hdu 4618 Palindrome Sub-Array
- hdu 4611 Balls Rearrangement 多校第二场
- hdu 4618 Palindrome Sub-Array 多校第二场
- 2013 多校第二场 hdu 4611 Balls Rearrangement
- hdu 4614 Vases and Flowers 多校第二场
- Android 4.0 Camera
- Cloud Foundry 源码解析一览(warden)
- C++库研究笔记——赋值操作符operator=的正确重载方式(三个准则)
- Android 关于onNewIntent的方法调用
- mysql /*! */的含义
- hdu 4620 多校第二场 搜索
- 如何强制客户端刷新缓存
- nginx配置文件
- python的断点调试
- 【91xcz】教你玩转windows7快捷键
- OpenRisc-41-or1200的cache模块分析
- MACVim下Viki安装和使用的总结
- 范化、依赖、关联、聚合关系的一些理解
- Mac App Store应用签名和pkg签名