【2018.3.31】模拟赛之三-ssl2408 比萨【搜索,dfs】
生活随笔
收集整理的這篇文章主要介紹了
【2018.3.31】模拟赛之三-ssl2408 比萨【搜索,dfs】
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
正題
大意
有t種配料,有n種限制。限制就是幾種配料不能同時使用(可能有多種)。求方案數
解題思路
暴力搜索能過
代碼
#include<cstdio> using namespace std; int n,t,k[53],a[53][21],v[21],s; bool flag; void dfs(int dep,int x) {for (int i=1;i<=n;i++){flag=true;for (int j=1;j<=k[i];j++){if (!v[a[i][j]]){flag=false;break;}}if (flag) return;}s++;//for (int i=1;i<=t;i++)// if (v[i]) printf("%d ",i);//printf("\n");if(dep==t) return;for (int i=x+1;i<=t;i++){if (!v[i]){v[i]=true;dfs(dep+1,i);v[i]=false;}} } int main() {scanf("%d%d",&t,&n);for (int i=1;i<=n;i++){scanf("%d",&k[i]);for (int j=1;j<=k[i];j++){scanf("%d",&a[i][j]);}}dfs(0,0);printf("%d",s); }總結
以上是生活随笔為你收集整理的【2018.3.31】模拟赛之三-ssl2408 比萨【搜索,dfs】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 雷鸟携手京东 推动消费级AR眼镜普及浪潮
- 下一篇: 【2018.3.31】模拟赛之四-ssl