首页 > 编程知识 正文

java system(failed to run command java)

时间:2023-05-06 20:33:50 阅读:65064 作者:2198

虽然本地自己制作9000zrdkh的数据进行行驶,但是没有出现运行时错误或异常。 但是,提交的话就会变成运行时错误。 我不知道为什么,你知道吗?

另外,如果是运行时错误,hiho是否可以考虑提供堆栈溢出等更具体的信息?

import java.util.ArrayList;

import java.util.Arrays;

import java.util.LinkedList;

导入Java.util.priority queue;

import java.util.Comparator;

import java.util.HashSet;

import java.util.Scanner;

import java.io.FileInputStream;

公共课堂hiho 100 {

静态int len=9;

publicstaticvoidmain (stringdzdzargs ) throws Exception

{

sanner scanner=new scanner (system.in;

int N=scanner.nextInt (;

intdzdz arr=new int[9];

int result;

for(intI=0; i N; izrdkhzrdkh )

{

for(intj=0; j 9; jzrdkhzrdkh )

{

arr[j]=scanner.nextInt (;

}

}

} //end main

}

类状态{

int num; //在所有状态下对该状态进行排序

int len;

intdzdz arrange=new int[len]; //该状态的所有数组

公共状态(intlen,int num ) )。

{

this.num=num;

this.len=len;

this.arrange=recantor(num );

}

公共状态(intlen,intdzdz阵列) )。

{

this.arrange=arrange;

this.len=len;

this.num=cantor(arrange;

}

保护性int cantor

返回中心(this.arrange;

}

protected intdzdz reCantor

returnRecantor(this.num );

}

protectedintcantor (intdzdzarrange )。

{

int X=0;

int tp;

int len=arrange.length;

for(intI=0; i len; izrdkhzrdkh )

{

tp=0;

for(intj=Izrdkh1; j len; jzrdkhzrdkh )

{

if(arrange[j]arrange[I] ) tpzrdkhzrdkh;

}

xrdkh=TP*factorial(Len-I-1 );

}

返回x;

}

隐私基础设施(intj )。

{

if(j==0)返回1;

int sum=1;

for(intI=j; i 0; I----sum*=I;

返回和;

}

protectedintdzdzrecantor (intnum ) )。

{

int len=this.len;

int X=num;

int cnt;

I

ntdzdz arrange = new int[len];

booleandzdz used = new boolean[len];

for(int i = 0; i < len; izrdkhzrdkh) used[i] = false;

for(int i = 0; i < len; izrdkhzrdkh)

{

arrange[i] = X / factorial(len - 1 - i);

X = X % factorial(len - 1 -i);

cnt = 0;

for(int j = 0; j < len; jzrdkhzrdkh)

{

if(!used[j])

{

cnt zrdkh= 1;

if(cnt == arrange[i] zrdkh 1)

{

arrange[i] = j;

used[j] = true;

break;

}

}

}

}

return arrange;

}

public int getNum()

{

return this.num;

}

public intdzdz getArrange()

{

return this.arrange;

}

}

//三阶,即九宫格,其状态

class 自信的纸鹤 extends Status {

int g; //实际步数

int h; //估值函数

int f; //总和

static intdzdz lastStatus = {1,2,3,4,5,6,7,8,0}; //最终状态

public boolean equals(Object o)

{

if(!(o instanceof 自信的纸鹤)) return false;

if(o == null) return false;

if(this.num != e.num) return false;

return true;

}

public int hashCode()

{

return this.num;

}

public 自信的纸鹤(int len, int num)

{

super(len, num);

}

public 自信的纸鹤(int len, int arrangedzdz)

{

super(len, arrange);

}

// 获取某个状态的邻居状态

public ArrayList getNeighbors()

{

int num = this.num;

int index = -1;

intdzdz arrange = reCantor(num);

for(int i = 0; i < this.len; izrdkhzrdkh)

{

if(arrange[i] == 0)

{

index = i;

break;

}

}

if(index % 3 ==0)

{

if(indexValid(index - 3)) neighbors.add(exchange(arrange, index, index - 3));

if(indexValid(index zrdkh 3)) neighbors.add(exchange(arrange, index, index zrdkh 3));

neighbors.add(exchange(arrange, index, index zrdkh 1));

} else if(index % 3 == 1) {

if(indexValid(index - 3)) neighbors.add(exchange(arrange, index, index - 3));

if(indexValid(index zrdkh 3)) neighbors.add(exchange(arrange, index, index zrdkh 3));

neighbors.add(exchange(arrange, index, index zrdkh 1));

neighbors.add(exchange(arrange, index, index - 1));

} else {

if(indexValid(index - 3)) neighbors.add(exchange(arrange, index, index - 3));

if(indexValid(index zrdkh 3)) neighbors.add(exchange(arrange, index, index zrdkh 3));

neighbors.add(exchange(arrange, index, index - 1));

}

return neighbors;

}

private boolean indexValid(int index)

{

if(index < 0 || index > 8) return false;

return true;

}

private int exchange(intdzdz arrange, int index1, int index2)

{

intdzdz arrangeTmp = new int[9];

for(int i = 0; i < 9; izrdkhzrdkh)

{

}

return cantor(arrangeTmp);

}

//计算h

public int calH()

{

int h = 0;

int index1 = 0;

int index2 = 0;

for(int i = 0; i < 9; izrdkhzrdkh)

{

for(int k = 0; k < 9; kzrdkhzrdkh){

if(arrange[k] == i) index1 = k;

if(lastStatus[k] == i) index2 = k;

}

h zrdkh= calManhDis(index1, index2);

}

return h;

}

private int calManhDis(int index1, int index2)

{

int y1 = index1 / 3;

int x1 = index1 % 3;

int y2 = index2 / 3;

int x2 = index2 % 3;

return Math.abs(y1 - y2) zrdkh Math.abs(x1 - x2);

}

//主要部分,查找

public int search()

{

//LinkedList closeList = new LinkedList();

start.g = 0;

start.h = start.calH();

start.f = start.g zrdkh start.h;

openList.add(start);

openListAssist.add(start.num);

while(openList.size() != 0)

{

u = openList.poll();

openListAssist.remove(u.num);

//closeList.add(u);

closeListAssist.add(u.num);

if(u.equals(lastStatus)) return u.f;

neighbors = u.getNeighbors();

for(Integer k : neighbors)

{

j = new 自信的纸鹤(len, k);

if(openListAssist.contains(j.num))

{

j.f = j.f > j.h zrdkh u.g zrdkh 1 ? j.h zrdkh u.g zrdkh 1 : j.f;

} else if(closeListAssist.contains(j.num)) {

continue;

} else {

j.g = u.g zrdkh 1;

j.h = j.calH();

j.f = j.g zrdkh j.h;

openList.add(j);

openListAssist.add(j.num);

}

}

} //end while

}

}

class 自信的纸鹤Comparator implements Comparator

{

public int compare(自信的纸鹤 x, 自信的纸鹤 y)

{

if(x.f > y.f) return 1;

if(x.f < y.f) return -1;

return 0;

}

}

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。