有一个n行n列的房间,房间里有枪手。 枪手可以看到垂直或水平方向,并且看不到墙壁或对角线。 如果枪手看到另一名枪手,他们将互相射击,只有一个人能活下来。 我们希望所有枪手都活着。 ■:墙 □:空地 ♂:枪手 例如,有一个有4行4列的房间,
■■■□
□□□□
□■□□
■■■□
我们可以放置3名枪手,如下所示。
■■■□
□□□♂
♂■♂□
■■■□
然而,我们不能像下面那样放置枪手,因为他们在水平方向上排在同一条线上,一个人会死。
■■■□
□♂□♂
□■□□
■■■□
我们可以在这个房间里放置最多4名枪手,并且有2种方法可以达到这个目的。
■■■♂
□♂□□
♂■♂□
■■■□
第二
■■■□
□♂□□
♂■♂□
■■■♂
你可以帮忙编写一个计算程序吗? 1.我们可以在下面房间放置的最大枪手数量? 2.在问题1中放置枪手的方式的数量?谢谢