2009年南海初中竞赛 比萨

阅读: 评论:0

2009年南海初中竞赛 比萨

2009年南海初中竞赛 比萨

题目


解题思路

深度优先搜索。

代码

#include<cstdio>
#include<cstring>
using namespace std; 
int n,t,ans; bool tg[101]; 
struct node{int len; bool b[101]; 
}a[101];bool ok(int lgg)//这个方案是否可行
{for (int j=1;j<=n;j++){int sum=0; for (int i=1;i<=t;i++)if (tg[i]&&a[j].b[i]) sum++; //不能一起的都有时,就返回falseif (sum==a[j].len) return false; }return true; //否则返回true
}void dfs(int lle)
{   ans++; //累加方案数for (int i=lle+1;i<=t;i++)//去重,或者用hash{tg[i]=true;if (ok(i)) dfs(i);tg[i]=false; }
}
int main()
{freopen("pizza.in","r",stdin); freopen("pizza.out","w",stdout); scanf("%d%d",&t,&n); for (int i=1;i<=n;i++){scanf("%d",&a[i].len); int q; for (int j=1;j<=a[i].len;j++)scanf("%d",&q),a[i].b[q]=true;//读入&&初始化}dfs(0); //搜到第几位printf("%d",ans); //输出
}

本文发布于:2024-01-29 18:18:23,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170652350517363.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:南海   初中
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23