- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
很抱歉我问这个问题,但我的编码能力不是很好,所以我无法解决这个问题:有一个网格 5*5,还有一个任务就是寻找最小数量的“灯”,或者说“1”,用一种特殊的方式解决:在大方格的每3*3格中,必有恰好 4 个“灯”。用笔数,我得到的最小数字等于 7(答案是正确的)。所以我的解决方案是这样的:
#creates a list
grid = []
#creates lines
for row in range(5):
grid.append([])
#creates columns
for column in range(5):
grid[row].append(0)
#one "light" must be in a center
grid[2][2] = 1
#this array counts all "lights" and will notice when there are 4 of them
light_number = []
def counter():
for row in range(0, 3):
for column in range(0, 3):
if grid[row][column] == 1:
light_number.append(1)
print(len(light_number))
正如预期的那样,counter()
仅适用于第一个 3*3 的小方 block 。想要只有一个函数来搜索“灯”而不是 9 个,我试着写这样的东西:
def counter():
#initial range of the counter
row_min = 0
row_max = 3
column_min = 0
column_max = 3
for i in range(9):
for row in range(row_min, row_max):
for column in range(column_min, column_max):
if grid[row][column] == 1:
#write it in a list
light_number.append(1)
column_min += 1
column_max += 1
row_min += 1
row_max += 1
#print a number of total lights
print(len(light_number))
但是不行,说grid[row][column] == 1 out of range。
所以,问题是:
请,如果您有任何想法,请告诉我。如果您认为可以有另一种解决方案,请也说。提前致谢。
最佳答案
在有人想出更智能的算法之前,我可以为您提供一个暴力解决方案来枚举所有网格。
将网格的每一行表示为从 0(一行中的所有灯都关闭)到 31(所有灯都打开)的“二进制”数字。然后,网格将是此类数字的 5 元组。有 32^5 = 33554432 个网格 - 如果有效地完成,可以在几分钟内暴力破解。
检查从 r
行和 c
列(其中 r
和 c
介于 0 和 2 之间),使用位移和掩码:
s = (nbits[7 & (g[r + 0] >> (2 - c))]
+nbits[7 & (g[r + 1] >> (2 - c))]
+nbits[7 & (g[r + 2] >> (2 - c))])
其中 g
是一个网格,nbits
包含从 0 到 7 的每个数字的位数。如果某些 s
!= 4 ,网格无效,继续下一个。
综合起来:
import itertools
# 0 1 2 3 4 5 6 7
nbits = [ 0,1,1,2,1,2,2,3 ]
def check(g):
for r in range(3):
for c in range(3):
s = (nbits[7 & (g[r + 0] >> (2 - c))]
+nbits[7 & (g[r + 1] >> (2 - c))]
+nbits[7 & (g[r + 2] >> (2 - c))])
if s != 4:
return False
return True
for g in itertools.product(range(32), repeat=5):
if check(g):
print g
for row in g:
print '{:05b}'.format(row)
print
关于python - 5*5的格子,在每3*3的格子里必须有4个 "lights",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25763814/
我试图通过设置 par(mfrow=c(2,1)) 使用 levelplot 在一个窗口中放置多个格子图,但它似乎忽略了这个。 是否有一个特定的函数可以在lattice中设置多个绘图? 最佳答案 “l
我是 R 编程的新手,我想制作一个关于性别和相应工作的直方图。 我遇到的问题是无法在图表中添加图例。 此外,我想在每个栏的顶部添加频率数字。 你能帮帮我吗? library(lattice) hist
我正在使用格子呢。使用交换 api 生成公共(public) token 创建者访问 token 后。现在访问 token 用于创建 api 调用但会出错。 The provided API keys
我使用 R 的点阵包制作了点图和 fiddle 图。点图为因子的每个值都有网格线,以便更容易找到相应的点。 是否可以在不显示此类线条的格子 fiddle 图中生成此类线条? 在我的情况下,数据分布在更
我正在尝试为选项评估生成一个二叉树,并且我想使用来自已经存在值的数组的值绘制一个格子。 所以基本上我的 VBA 中有一个与此类似的数组: My array in vba 我想以这种形式粘贴到 Exce
我在我的 Android 应用程序中使用 plaid-java:0.2.10 作为依赖项。 Plaid 使用 org.apache.httpcomponents:httpclient:4.4.1 作为
我想根据 z 的值为每个面板中的点着色。 我目前拥有的代码无法区分每个面板的 z 值。 我意识到我需要一个面板功能,并且 panel.superpose 可能会有所帮助,但我迷路了。 x <- c(1
在lattice中使用auto.key时,是否可以交换符号和文本的默认位置?也就是说,我希望图例中的文本相对于符号位于右侧。我知道使用 key 很容易做到这一点,但是将颜色与每个图的组分开链接不仅乏味
在lattice中使用auto.key时,是否可以交换符号和文本的默认位置?也就是说,我希望图例中的文本相对于符号位于右侧。我知道使用 key 很容易做到这一点,但是将颜色与每个图的组分开链接不仅乏味
我生成了一个点阵图,其中在单个 Y 轴上绘制了 2 个响应变量)。我已将其中一个响应变量绘制为一条线(下面的 Response1),另一个(Response2)绘制为同一 Y 轴上的点。我希望能够根据
我目前尝试通过更改其 Y 轴标签颜色来自定义格子平行图,具体取决于这些相同标签的特征。我创建了一个自定义的 y.scale.components 函数,如许多书籍/论坛中所述。但是,在将新颜色向量分配
我第一次尝试运行vagrant up,但收到此错误: ==> default: Mounting NFS shared folders... The following SSH command res
我有一个动物园对象,如下所示: z <- structure(c(6, 11, 3.6, 8.4, 8.9, 0, NA, 0.5, 7, NA, 9, NA), .Dim = c(6L, 2
我目前正在用 python 编写一个简单的程序来模拟 1 + 1 维 SU(2) yang mills 理论。对于 SU(2) 的情况,存在用于更新链接变量的特定热浴算法。但是,为了实现此算法,我需要
我正在尝试将格子 gem 整合到我的一个项目中。从文档中它说要这样配置它。 https://github.com/plaid/plaid-ruby Plaid.config do |p| p.cu
鉴于 code , map和 sample data以下: 而不是绘制 watersheds 的名称 map 上的等,如何使用 ggplot2 生成单独的图例或 levelplot就像使用 ArcGI
我以这个数据框为例: >mydata head(mydata) Col1 Col2 Col3 1 -0.1213684 A YY 2 0.1846364 A NN
我想在 2x3 布局中创建一系列包含 6 个或更少绘图的图形。如果有少于 6 个图的图形,我希望有边框来查看布局的结构。 例如这段代码给出了下图: n <- 3 data0 <- expand.gri
我是一名优秀的程序员,十分优秀!