• 大小: 51KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-21
  • 语言: Java
  • 标签: 魔方  

资源简介

解魔方程序Java源码,具体实现可以仔细研究一下,只体现了一下怎么调用,其实会调用函数就行了。

资源截图

代码片段和文件信息

package main;
import java.io.*;
import java.nio.channels.*;//定义了各种通道,这些通道表示到能够执行 I/O 操作的实体(如文件和套接字)的连接;定义了用于多路复用的、非阻塞 I/O 操作的选择器
import java.nio.*;

class CoordCube {

static final int N_MOVES = 18;
static final int N_MOVES2 = 10;
static final int N_SLICE = 495;
static final int N_TWIST = 2187;
static final int N_TWIST_SYM = 324;
static final int N_FLIP = 2048;
static final int N_FLIP_SYM = 336;
static final int N_PERM = 40320;
static final int N_PERM_SYM = 2768;
static final int N_MPERM = 24;
static final int N_COMB = 70;
static final int N_UDSLICEFLIP_SYM = 64430;

static final long N_HUGE = N_UDSLICEFLIP_SYM * N_TWIST * 70L;// 9863588700
static final int N_FULL_5 = N_UDSLICEFLIP_SYM * N_TWIST / 5;
static final int N_HUGE_16 = (int) ((N_HUGE + 15) / 16);
static final int N_HUGE_5 = (int) (N_HUGE / 5);// 1972717740

// XMove = Move Table
// XPrun = Pruning Table
// XConj = Conjugate Table

// full phase1
static int[][] UDSliceFlipMove = Search.USE_FULL_PRUN ? new int[N_UDSLICEFLIP_SYM][N_MOVES]
: null;
static char[][] TwistMoveF = Search.USE_FULL_PRUN ? new char[N_TWIST][N_MOVES]
: null;
static char[][] TwistConj = Search.USE_FULL_PRUN ? new char[N_TWIST][16]
: null;
static byte[] UDSliceFlipTwistPrunP = null; // Search.USE_FULL_PRUN ? new
// byte[N_UDSLICEFLIP_SYM *
// N_TWIST / 5] : null;
static byte[] HugePrunP = null; // Search.USE_HUGE_PRUN ? new byte[N_HUGE_5]
// : null;

// phase1
static char[][] UDSliceMove = new char[N_SLICE][N_MOVES];
static char[][] TwistMove = new char[N_TWIST_SYM][N_MOVES];
static char[][] FlipMove = new char[N_FLIP_SYM][N_MOVES];
static char[][] UDSliceConj = new char[N_SLICE][8];
static int[] UDSliceTwistPrun = new int[N_SLICE * N_TWIST_SYM / 8 + 1];
static int[] UDSliceFlipPrun = new int[N_SLICE * N_FLIP_SYM / 8];
static int[] TwistFlipPrun = Search.USE_TWIST_FLIP_PRUN ? new int[N_FLIP
* N_TWIST_SYM / 8] : null;

// phase2
static char[][] CPermMove = new char[N_PERM_SYM][N_MOVES];
static char[][] EPermMove = new char[N_PERM_SYM][N_MOVES2];
static char[][] MPermMove = new char[N_MPERM][N_MOVES2];
static char[][] MPermConj = new char[N_MPERM][16];
static char[][] CCombMove = new char[N_COMB][N_MOVES];
static char[][] CCombConj = new char[N_COMB][16];
static int[] MCPermPrun = new int[N_MPERM * N_PERM_SYM / 8];
static int[] MEPermPrun = new int[N_MPERM * N_PERM_SYM / 8];
static int[] EPermCCombPrun = new int[N_COMB * N_PERM_SYM / 8];

static void setPruning(int[] table int index int value) {
table[index >> 3] ^= (0xf ^ value) << ((index & 7) << 2);
}

static int getPruning(int[] table int index) {
return table[index >> 3] >> ((index & 7) << 2) & 0xf;
}

static void setPruning2(int[] table long index int value) {
table[(int) (index >> 4)] ^= (0x3 ^ value) << ((index & 0xf) << 1);
}

static int getPruning2(int[] table long index) {
return table[(int) (index >> 4)] >> ((index & 0xf) << 1) & 0x3;
}

stati

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     文件         301  2018-06-21 17:26  .classpath
     文件         383  2018-06-21 17:26  .project
     目录           0  2018-06-21 17:26  .settings\
     文件         598  2018-06-21 17:26  .settings\org.eclipse.jdt.core.prefs
     目录           0  2018-06-21 17:26  bin\
     目录           0  2018-06-21 17:27  bin\main\
     文件       17724  2018-06-21 17:27  bin\main\CoordCube.class
     文件       14881  2018-06-21 17:27  bin\main\CubieCube.class
     文件        2936  2018-06-21 18:02  bin\main\Main.class
     文件       12815  2018-06-21 17:27  bin\main\Search.class
     文件        8290  2018-06-21 17:27  bin\main\Util.class
     目录           0  2018-06-21 17:26  src\
     目录           0  2018-06-21 17:27  src\main\
     文件       22457  2018-06-21 17:27  src\main\CoordCube.java
     文件       21569  2018-06-21 17:27  src\main\CubieCube.java
     文件        2636  2018-06-21 18:02  src\main\Main.java
     文件       24455  2018-06-21 17:26  src\main\Search.java
     文件       11327  2018-06-21 17:27  src\main\Util.java

评论

共有 条评论