gpt4 book ai didi

java - 如何检查棋盘上的所有方格是否至少被踩过一次?

转载 作者:行者123 更新时间:2023-12-02 01:12:13 26 4
gpt4 key购买 nike

我遇到以下问题,我自己无法解决。

有一个 8x8 尺寸的二维数组。一只狗被随机放置在这个维度内。狗不允许走出该维度,如果走出该维度,则这些步数不被计算在内。狗走到另一个方格的每一步都会被计算在内。每次模拟应计算狗至少访问一次 8x8 尺寸的所有方格所需的总步数。

我如何知道所有 64 个方格是否至少被踩过一次以停止模拟并打印步数?

int [] [] dimension = new int [8][8];
boolean [] [] onSquare = new boolean [8] [8];

for (int i = 0; i < dimension.length; i++) {
for (int j = 0; j < dimension.length; j++) {
dimension [i] [j] = j;
}
while (true) {
int dog = rnd.nextInt(4)+1;

if (dog == 1) {
x++; // x,y show position of the dog
counter++;
}
if (dog == 2) {
x--;
}
if (dog == 3) {
y++;
}
if (dog == 4) {
y--;
}

最佳答案

当您将 2D 数组元素从“未访问”翻转为“已访问”时,您可以跟踪已访问的方 block 数量,如下所示:

int countVisited = 0;
...
// Flip from not visited to visited:
if (!visited[i][j]) {
visited[i][j] = true;
countVisited++;
}

现在,您对“所有方 block 已被访问”的检查简化为 if (countVisited == 64) ...

关于java - 如何检查棋盘上的所有方格是否至少被踩过一次?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59228344/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com