我正在尝试初始化一个看起来像以下十二面体的数组:
索引0可以移至2,18,19
索引1可以移至5,17,18
等等..
我正在尝试在for循环中初始化数组,如下所示:
for (int i = 0; i < ROOMS; i++)
{
//?
}
但是我不知道如何初始化数组,即:
arr[0] = new Indexes(2,18,19);//The indexes that we can moved from index 0
arr[1] = new Indexes(5,17,18);//The indexes that we can moved from index 1
arr[2] = new Indexes(0,4,17);//The indexes that we can moved from index 2
如何在for循环中执行此操作?
谢谢!
最佳答案
第k个节点的邻居的一般公式:
19 - k;
(k + t) mod 20;
(k - t + 20) mod 20;
哪里
t = 2 + 2 * (k and 1) //2 for even, 4 for odd