首页
题库
面试
求职
学习
竞赛
More+
所有博客
搜索面经/职位/试题/公司
搜索
我要招人
去企业版
登录 / 注册
首页
>
试题广场
>
在一个圆桌上,放了 8 个盘子,每 2 个盘子中间放了一根筷
[问答题]
在一个圆桌上,放了 8 个盘子,每 2 个盘子中间放了一根筷子;每个盘子前站一个人,如果每人都先用 左手拿起左边的筷子,再去拿右边的筷子,因为他右边的筷子已经被他右边的人用左手拿起了,所以他没有办 法凑齐一双筷子。如果希望每个人都能在某个时刻可以凑齐一双筷子,该怎么做。
添加笔记
求解答(0)
邀请回答
收藏(5)
分享
纠错
5个回答
添加回答
1
彭彭の零柒
这个就是进程死锁,占用资源(左筷子),等待释放(右筷子)。
解决方案:
1.所有人拿起左筷子后,使任意一个人<称为:小A>放下手中左筷子。(进程死锁无限等待释放资源,结束任意进程)
2.<小A>左边的人<小B>拿起右筷子,开始吃饭。(得到资源)
3.此人<小B>吃完,放下所有筷子。(释放资源)
4.<小B>左边的<小C>获得筷子开始吃饭,<小B>右边的<小A>重新申请资源,获得左筷子。
5.<小C>吃完放下所有筷子。左边<小D>得到筷子开始吃饭,右边<小B>重新申请资源,获得左筷子.
……
至此,死锁解除,可以一直循环,不再会存在资源占用+循环等待释放资源。每个人都能吃上饭啦@!!(就是这样吃饭轮上一圈,彼此的口水都吃过了,呕(● ̄(エ) ̄●))
编辑于 2020-04-10 21:45:19
回复(0)
1
zongwan
在三维空间中
欧拉公式
V-E+F=2
在二维空间中
欧拉公式
V-E+F=1 (因为只有一个平面 ∴
F=1
)
盘子看做 点V=8
2个盘子 之间一根筷子 看做
棱数E
由题目得知需要E=16
先看二维空间
V=8代入公式
V-E+F=1 (F=1)
得出E=8 不满足
所以需要拼三维图形
V=8代入公式
V-E+F=2
E-F=6
需求E=16
所以F=10
拼出10面体 即可得到16
根
筷子
不过这题目真是有病
发表于 2015-04-23 01:00:58
回复(0)
0
ideal
将筷子从中间折断,然后他们都有一双筷子了
发表于 2015-04-01 18:02:50
回复(0)
0
涼戒SAMA
是把筷子横过来?
一人拿筷子一头。
人-人-人-人-这种样子大家就连起来了。然后就都凑齐一双筷子了。
如过不对请不要嘲笑,个人愚见
发表于 2015-03-31 22:59:22
回复(1)
0
刘符磊
这和哲学进餐问题挺像,但结果好像不能满足要求
发表于 2015-03-31 22:27:50
回复(1)
这道题你会答吗?花几分钟告诉大家答案吧!
提交观点
问题信息
完美世界
智力题
上传者:
Lyon
难度:
5条回答
5收藏
14480浏览
热门推荐
相关试题
设有矩阵A1(30*35)、A2(...
完美世界
动态规划
评论
(2)
在平面内两个矩形,如何用一条直线同...
百度
智力题
评论
(4)
一块金子做为给雇员的工资,工作七天...
百度
智力题
评论
(6)
编程题 ,按照要求创建Java 应...
Java
评论
(1)
市场与销售的区别在哪里?
市场营销
评论
(1)
扫描二维码,关注牛客网
意见反馈
下载牛客APP,随时随地刷题