兵临城下
卢卡斯的驱逐者大军已经来到了赫柏的卡诺萨城,赫柏终于下定决心,集结了大军,与驱逐者全面开战。
卢卡斯的手下有6名天之驱逐者,这6名天之驱逐者各赋异能,是卢卡斯的主力。
为了击败卢卡斯,赫柏必须好好考虑如何安排自己的狂战士前去迎战。
狂战士的魔法与一些天之驱逐者的魔法属性是相克的,第i名狂战士的魔法可以克制的天之驱逐者的集合为Si(Si中的每个元素属于[0,5])。
为了公平,两名狂战士不能攻击同一个天之驱逐者。
现在赫柏需要知道共有多少种分派方案。
例:
S1={01},S2={23},代表编号为0的狂战士的魔法可以克制编号为0和编号为1的天之驱逐者,编号为1的狂战士的魔法可以克制编号为2和编号为3的天之驱逐者,共有四种方案:02,03,12,13。
02---代表第一个狂战士负责编号为0的驱逐者,第二个狂战士负责编号为2的驱逐者;
03---代表第一个狂战士负责编号为0的驱逐者,第二个狂战士负责编号为3的驱逐者;
12---代表第一个狂战士负责编号为1的驱逐者,第二个狂战士负责编号为2的驱逐者;
13---代表第一个狂战士负责编号为1的驱逐者,第二个狂战士负责编号为3的驱逐者;
S1={01},S2={01},代表编号为0的狂战士的魔法可以克制编号为0和编号为1的天之驱逐者,编号为1的狂战士的魔法可以克制编号为0和编号为1的天之驱逐者,共有两种方案:01,10。

输入描述:
多组测试数据,请处理到文件结束。对于每组测试数据:第一行为一个整数N,代表狂战士的数量。第二行为N个字符串,第i个字符串表示第i个狂战士能够克制的天之驱逐者的集合。保证:1<=N<=6,1<=每个字符串的长度<=6,且每个字符都是0~5中的一个数字。
输出描述:
输出一个整数,代表分配方案数
输入例子:
2
01 23
2
01 01
3
3 015 5
输出例子:
4
2
2一开始想是不是有什么规律可以用公式计算出来的,后来用深搜解决了,数据量不大。
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int time;
int dis[6];
void dfs(char a[][7],int step,int n,int end){int i,j,k;if(step==end){time++;return;}for(int i=0;i<n;i++){if(dis[a[step][i]]==0){dis[a[step][i]]=1;dfs(a,step+1,strlen(a[step+1]),end);dis[a[step][i]]=0;}}
}
int main(){int n,i,k,p;long long sum=0;int f;char temp;char a[6][7];while(scanf("%d",&n)!=EOF){for(i=0;i<n;i++){scanf("%s",a[i]);}time=0;memset(dis,0,sizeof(int));dfs(a,0,strlen(a[0]),n);printf("%d\n",time);          }
}

兵临城下 (深度搜索)相关推荐

  1. 深度搜索问题c语言,C语言实现的图的深度搜索与广度搜索程序.doc

    C语言实现的图的深度搜索与广度搜索程序 C语言实现的图的深度搜索与广度搜索程序 /* 上机试验5-图的建立和遍历 1)建立[无向][非连通]图的邻接表存储结构,要求顶点个数不少于15个. 2)用DFS ...

  2. python8皇后不攻击问题_python 八皇后问题的解法(深度搜索)

    共本文介绍如何用深度搜索的方式求解8皇后(其实也可以求解N皇后)问题的解 八皇后问题描述 在国际想起的规则中,皇后能攻击八个方向上的棋子,而且不受距离限制. 皇后的攻击方向如下图所示: 八皇后问题则是 ...

  3. 深度搜索 java_java实现的深度搜索与广度搜索算法BFS,DFS以及几种最短路径算法...

    java实现的深度搜索与广度搜索算法BFS,DFS以及几种最短路径算法 public class City { String name; int id; static int idCounter = ...

  4. #C++初学记录(算法测试2019/5/5)(深度搜索)

    深度搜索:Oil Deposits GeoSurvComp地质调查公司负责探测地下石油储藏. GeoSurvComp现在在一块矩形区域探测石油,并把这个大区域分成了很多小块.他们通过专业设备,来分析每 ...

  5. 深度搜索--水管工游戏

    package com.xjj.Ah;import java.util.LinkedList;/*----深度搜索--水管工游戏----* 1. remove(),removeFirst():先移除在 ...

  6. 基于深度搜索的树路径求解_基于深度学习的自动验证码求解器

    基于深度搜索的树路径求解 计算机视觉,网络安全,深度学习(Computer Vision, Cybersecurity, Deep Learning) Disclaimer: The followin ...

  7. 深度搜索—-深度搜索解决矩阵搜索问题(水洼数计算)

    深度搜索--深度搜索解决矩阵搜索问题(水洼数计算) 一.题目 有一个大小为N*M的园子,雨后积起了水.八连通的计税被认为是连接在一起的.请求出园子里总共有多少水洼? (八连通指的是下图中相对w的*的部 ...

  8. 深度搜索(DFS),一种用于遍历和搜索的算法

    先上百度对深度搜索的定义: 如果上边的定义没有理解,那么可以这样认为:深度搜索就是一种试探性的算法,例如你在一个十字路口想要去到某地,但是你又不认识具体的路(并且你不善言辞,万事不求人),那么你只能先 ...

  9. 【算法】深度搜索(DFS) 和 广度搜索(BFS)

    深度搜索(DFS) 点:然后退回到该顶点,搜索其它路径,直到以该顶点为始点的所有路径的顶点都被访问,深度搜索算法是递归算法,因为对于没一个节点来说,执行的是同样的操作.  简单来说,深度搜素算法就是一 ...

最新文章

  1. 虚拟路由冗余协议VRRP
  2. opengl加载显示3D模型AC类型文件
  3. python treading模块
  4. lucene的数据类型
  5. 【HTML/CSS】SEO的概念和实现
  6. repeater使用1
  7. jitter 如何优化网络_抖音优化该怎么做?
  8. leetcode - 22. 括号生成
  9. ATL COM类之激活
  10. 共享库/动态库目录path
  11. CSS Reset Modern CSS Reset
  12. 北京理工大学珠海学院中外合作办学计算机,北京理工大学珠海学院
  13. eclipse安装教程|最详细eclipse安装 配置图文教程
  14. 基于一维卷积神经网络模型的AI量化智能选股策略
  15. Webview调用支付宝客户端
  16. Educational Codeforces Round 87 (Rated for Div. 2)A. Alarm Clock
  17. 736. Lisp 语法解析 : DFS 模拟题
  18. 【计算机网络】Socket编程
  19. ubuntu openssl 连接gmial smtp服务
  20. 【C语言】刨根问底 - 深剖const关键字

热门文章

  1. linksys 打印软件_Linksys固件DD-WRT BitTorrent优化
  2. 英菲克I9_H8_当贝纯净桌面-YYF定制-线刷固件包
  3. 百度地图离线开发需求介绍
  4. String.intern()
  5. java手机号中间4位使用*替换
  6. IOS电影播放器—MPMoviePlayerController
  7. macbook air适合学java,神舟7月9日发轻薄笔记本新品 比MacBook Air还要薄?
  8. 开发必备的最高100个 Flutter 开源精品项目
  9. android auto领动,动力系统非常出色 小试北京现代领动
  10. mysql生成类似qq号_【mysql】类似QQ的好友关系表是怎么设计的?