嗨,我在尝试开发适用于这个谜题求解器的代码时遇到问题我有 2 个整数数组,每个数组有 5 个元素
a[] = {1,1,0,2,2};
b[] = {2,2,0,1,1};
我的程序假设逐步将数组 a 重新排列到数组 b 中并比较它们是否匹配。
求解规则为:整数 1 只能向右移动,整数 2 只能向左移动,0 充当 1 跳过 2 的保持点,反之亦然;
基本上在纸上解决这个难题的方法是:
a b c d e
1 1 0 2 2 - >starting positiong
1 0 1 2 2 - >b moves to c therfore b is now vacated 0
1 2 1 0 2 - >d can jump over c because they are opposites so b = d
1 2 1 2 0 - > e moves over to the vacated d
1 2 0 2 1 - > c can jump over d to e because e is vacated
0 2 1 2 1
2 0 1 2 1
2 2 1 0 1
2 2 0 1 1 = b[]
我编写了代码只是为了声明数组,但我不知道如何解决任何帮助。