hdu 4152 dfs 枚举
来源:互联网 发布:身体乳推荐知乎 编辑:程序博客网 时间:2024/06/05 02:01
基本功不够扎实 dubug 了好久
View Code
#include<cstdio>
#include<cstring>
int h[50][50];
int a[50];
int sum[50];
int ans[50];
int re[50];
int n,m;
int tot;
bool goal;
void dfs(int dep,int p)
{
int i,j;
goal=true;
for(i=1;i<=n;i++)
if(sum[i]<a[i])
goal=false;
if(goal && dep>tot)
{
tot=dep;
for(i=1;i<dep;i++)
{
ans[i]=re[i];
}
}
if(dep==m+1) return ;
for(j=p;j<=m;j++)
{
re[dep]=j;
for(i=1;i<=n;i++) sum[i]+=h[j][i];
dfs(dep+1,j+1);
for(i=1;i<=n;i++) sum[i]-=h[j][i];
}
}
int main()
{
int i,j;
while(~scanf("%d",&n))
{
for(i=1;i<=n;i++) scanf("%d",&a[i]);
scanf("%d",&m);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
scanf("%d",&h[i][j]);
memset(sum,0,sizeof(sum));
tot=0;
dfs(1,1);
if(tot>1)
{
printf("%d",tot-1);
for(i=1;i<tot;i++)
printf(" %d",ans[i]);
printf("\n");
}
else printf("0\n");
}
return 0;
}
- hdu 4152 dfs 枚举
- hdu 2208 DFS枚举
- hdu 2489 (dfs枚举 + prim)
- hdu 5339 Untitled(枚举 || DFS)
- HDU 4152 ZZYs Dilemma(枚举 or dfs)
- HDU 2489 DFS枚举+最小生成树
- hdu 4431 Mahjong (模拟,枚举+dfs)
- HDU 1427 速算24点 枚举+dfs
- hdu 4770(枚举 + dfs爆搜)
- HDU 5301 Friends(DFS + 枚举)
- HDU 1298 T9 // 字典树,枚举,dfs
- HDU 3768 Shopping spfa+dfs枚举
- Hdu 1433 Simply Syntax【dfs枚举】
- HDU/HDOJ 1015(dfs或暴力枚举)
- hdu 5546 Ancient Go 枚举 DFS
- [DFS]HDU/HOJ 1557 权利指数 DFS枚举
- DFS 枚举
- hdu 2489 Minimal Ratio Tree(dfs枚举 + 最小生成树)~~~
- hdu 3450 树状数组 + dp
- hdu 1561 树形DP入门题
- poj 1422 java 二分匹配
- poj 1283 DP
- 线段树 单点更新 【第一节】
- hdu 4152 dfs 枚举
- poj 2187 求平面最远点对 快速凸包 旋转卡壳
- poj 3982 高精度java
- poj 2230 欧拉回路
- poj 1840 哈希~~~
- ural 1088 二叉树基本性质
- 树状数组从前往后求和,用来解第k大(或小)的数 poj 2985 The k-th Largest Group
- poj 2985 线段树求第k大的数
- 线段树 树状数组 求大于某个值的第k小的数 hdu 2852 KiKi's K-Number