网站首页 > 资源文章 正文
问题描述
现在有 n 位工程师和 6 项工作(编号为 0 至 5),现在给出每个人能够胜任的工作序号表(用一个字符串表示,比如:045,表示某位工程师能胜任 0号,4号,5号 工作)。现在需要进入工作安排,每位工程师只能被安排到自己能够胜任的工作当中去,两位工程师不能安排到同一项工作当中去。如果两种工作安排中有一个人被安排在的工作序号不一样就被视为不同的工作安排,现在需要计算出有多少种不同工作安排计划。
输入描述:
输入数据有 n+1 行
第一行为工程师人数 n(1 <= n <= 6)
接下来的 n 行,每行一个字符串表示第 i(1 <= i <= n) 个人能够胜任的工作(字符串不一定等长的)
输出描述:
输出一个整数,表示有多少种不同的工作安排方案
输入例子
6
012345
012345
012345
012345
012345
012345
输出例子
720
可行方案数: testcase:720
解题思路
本题可以使用回溯法发求解,对于第一个工程师依次安排它可以胜任的工作,然后按照此方法进行递归。如果所有工作都被安排出去,则算作一次有效的安排,可分配算数加一,具体步骤如下:
- 设 map 变量记忆对应的工作是否分配出去
- 从第一个到第 n 个,对于每个工程师依次按他可胜任工作进行判断,如果该工作未分配出去,则分配该工作,如果该工作已分配给他人,则不分配
- 如果所有工作都分配完毕,则将分配方案计数加一
算法实现
猜你喜欢
- 2024-09-23 网易笔试感想(网易笔试严格吗)
- 2024-09-23 网易游戏研发工程师:这些题目小儿科嘛,网友:题目都看不懂
- 2024-09-23 刚出炉的网易Linux运维面试题(附带答案)
- 2024-09-23 直通BAT专场:百度+阿里+腾讯+网易(题目大合集)!含答案福利!
- 2024-09-23 400 道前端面试题!阿里、头条、网易等 19 家大厂面经全公开!
- 2024-09-23 2018年网易面试试题,初试过了的程序员透漏
- 2024-09-23 网易笔试到底有多难,看看这篇就知道
- 2024-09-23 网易面试官:这题能招到大神吗?应聘者:我是谁,我在哪?
- 2024-09-23 一道网易Java基础笔试题,我感觉你做不出来「一道题系列」
- 2024-09-23 w3cschool app苹果版更新,新增百度、网易等名企程序员笔试题!
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- 电脑显示器花屏 (79)
- 403 forbidden (65)
- linux怎么查看系统版本 (54)
- 补码运算 (63)
- 缓存服务器 (61)
- 定时重启 (59)
- plsql developer (73)
- 对话框打开时命令无法执行 (61)
- excel数据透视表 (72)
- oracle认证 (56)
- 网页不能复制 (84)
- photoshop外挂滤镜 (58)
- 网页无法复制粘贴 (55)
- vmware workstation 7 1 3 (78)
- jdk 64位下载 (65)
- phpstudy 2013 (66)
- 卡通形象生成 (55)
- psd模板免费下载 (67)
- shift (58)
- localhost打不开 (58)
- 检测代理服务器设置 (55)
- frequency (66)
- indesign教程 (55)
- 运行命令大全 (61)
- ping exe (64)
本文暂时没有评论,来添加一个吧(●'◡'●)