📄 aiproblemiohandler.java
字号:
/**
* Description: provide IOHandler for writing/reading solution in
* integer array
*
* @ Author Create/Modi Note
* Xiaofeng Xie Apr 6, 2005 xiaofengxie@tsinghua.org.cn
*/
package implement.common.infoIO;
import Global.define.*;
import Global.math.*;
import Global.methods.*;
import maosKernel.represent.*;
import maosKernel.infoIO.*;
public abstract class AIProblemIOHandler extends AbsProblemIOHandler {
public String writeSolution(EncodedState state) throws Exception {
String colStr = "";
int[] solution = state.getSearchState().getIArray();
for (int i=0; i<solution.length; i++) {
colStr += solution[i]+BasicTag.RETURN_TAG;
}
return colStr;
}
protected void naiveReadSolution(EncodedState state, String content) throws Exception {
String[] lines = GlobalString.getMeaningfulLines(content);
int[] solution = state.getSearchState().getIArray();
int index = 0;
for (int i=0; i<lines.length; i++) {
String[] lineContents = GlobalString.tokenize(lines[i], BasicTag.NULL_SEPERATE_TAG);
for (int j=0; j<lineContents.length; j++) {
solution[index] = Integer.parseInt(lineContents[j]);
index++;
if (index>=solution.length) {
return;
}
}
}
}
public void readSolution(EncodedState state, String content) throws Exception {
super.readSolution(state, content);
removeBias(state.getSearchState().getIArray());
}
private void removeBias(int[] sol) {
//remove bias value
int biasV = ArrayMath.getExtermal(sol, false);
if (biasV!=0) {
for (int i=0; i<sol.length; i++) {
sol[i] -= biasV;
}
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -