我正在研究这个programming challenge,我在理解棋盘的组成方面遇到了一些困难。从我设法理解的是:
我打算做的是开始一个棋盘,第一个方格是(0,0),最后一个方格是(3,3)。我需要从第一个位置进行迭代,然后执行操作以查找该平方是否小于Ri,如果它小于标记该计数器的入口并继续。
我手动检查第一个案例的输出是否正确,我得到了5个可到达的正方形,但是输出得到了10.我从(1,1)开始重绘我的棋盘到(4,4) )手工完成数学并得到5.第一个测试是(1,1,1)攻击者处于位置(1,1),范围为1.
如果我使用从(0,0)开始的棋盘,可以攻击的方格是:2,5,6,7和10.如果我使用从(1,1)开始的棋盘,则方格是:1 ,2,5,9和10。
答案 0 :(得分:1)
首先,我会坚持使用他们的符号,并以1为基础做事。其次,人们会攻击他们所在的广场。所以在第一种情况下,(1,1)攻击者攻击(1,1),(1,2)和(2,1),(3,1)攻击(3,1),(3,2) ),和(4,1)[也(2,1),但我们已经计算过]和(3,3)攻击本身,(2,3),(3,4)和(4,3)。 [也是(3,2),我们已经计算过]这就是10个被攻击的方块。 下一个案例指定了一个新的棋盘,其中1个攻击者是1比10。攻击者坐在(1,1)并攻击(1,1)和(1,2)所以2个方格。然后你的算法应该工作(你描述的方式,你需要在攻击者上嵌套第二个迭代循环,但我宁愿在循环中一次读取攻击者,然后迭代正方形)。