【软件开发笔试题】分享几个笔试题,比较经典的!



1、宿舍内5个同学一起玩对战游戏,每场比赛有一些人作为红方,一些人作为蓝方。请问至少需要多少场比赛,才能使任意两个人之间有一场红方对蓝方和蓝方对红方的比赛。

分析:一次划分中,某方可以有1人,另一方有4人或某方有2人,另一人有3人。

要使任意两个人之间有一场红方对蓝方和蓝方对红方的比赛,假设5个同学为A,B,C,D,E,相当有有向图的5个节点,任意两个节点间有两个方向的边连接。

即总的节点关系有(5个节点中选取两个节点)A(5,2)=5*4=20个关系。

而一次比赛(一次划分)能够生成的关系(一方两人一方三人的划分)c(2,1)*c(3,1)=2*3=6或者(一方四人一方一人的划分)c(4,1)*(c(1,1)=4*1=4,

所以一场比赛(一次划分)最多生成的关系次数为6

所以需要20/6=3.33..即至少需要4场比赛

2、用两种颜色去染排成一个圈的6个棋子,如果通过旋转得到则只算一种,一共有多少种染色

答案共14种

分析:题目意思是说旋转后相同的颜色排布算一种。相当于棋子没有区别,只有位置的相对关系。

设两种颜色为黑白

全黑1种+全白1种=2

1黑5白(1种)+1白5黑(1种)=2种

2黑4白(2个黑的可以紧挨着,2个黑的中间隔1个棋子,两个黑的中间隔2个棋子)共3种

4黑2白同2黑4白对称:3种

3黑3白:3个黑的连在一起(1种),3个黑的任意两个之间不相邻(1种),3个黑的有两个挨着,另外一个与这两个棋子都不相邻(2种)

共4种

特别是另外一个与这两个棋子都不相邻的情况,有两种,刚开始以为是对称的算一种了,而实际上是两种,因为这种通过旋转是转不到一样的。

所以总共有2+2+3+3+4=14种

---------------------------------------------------------

我的站点:https://neveryu.github.io/guestbook/

Githubhttps://github.com/Neveryu

新浪微博http://weibo.com/Neveryu






更多学习资源请私信我的新浪微博...
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页