Commit 2f3980f4 authored by Vladislav Kiselev's avatar Vladislav Kiselev

Баги

parent 93ff4528
This diff is collapsed.
This diff is collapsed.
......@@ -149,6 +149,10 @@ public class Main {
debug(Testing::solveTaskWithPartialCargoOp, DEFAULT_TIME_LIMIT_S);
break;
}
case "debug greedy" : {
debug(Testing::solveTaskWithGreedyConstraints, DEFAULT_TIME_LIMIT_S);
break;
}
case "debug read-write" : {
debugReadWrite();
break;
......@@ -289,6 +293,7 @@ public class Main {
}
int arrayFirstDim = ((int) task.getPlanningInterval()) + 2;
int arraySecondDim = 0;
if (line.charAt(pos) == '{') {
pos++;
......@@ -296,7 +301,14 @@ public class Main {
while (line.charAt(nextPos) != '}') {
nextPos++;
}
arrayFirstDim = Integer.valueOf(line.substring(pos, nextPos).trim());
String []dimensions = line.substring(pos, nextPos).trim().split(" ");
if (dimensions.length > 0) {
arrayFirstDim = Integer.valueOf(dimensions[0].trim());
}
if (dimensions.length > 1) {
arraySecondDim = Integer.valueOf(dimensions[1].trim());
}
pos = nextPos + 1;
while (line.charAt(pos) != '[') {
pos++;
......@@ -330,7 +342,7 @@ public class Main {
maxLength = Math.max(maxLength, val.length());
}
if ((arrayFirstDim != 0) && (elements.size() % arrayFirstDim == 0)) {
if ((arrayFirstDim != 0) && (elements.size() % arrayFirstDim == 0) && ((arraySecondDim == 0) || (elements.size() % (arrayFirstDim * arraySecondDim) != 0))) {
writer.write(name + " :\n");
for (int i = 0; i < elements.size(); i += arrayFirstDim) {
writer.write(" ");
......@@ -344,6 +356,23 @@ public class Main {
writer.write("\n");
}
writer.write("\n");
} else if ((arrayFirstDim != 0) && (arraySecondDim != 0) && (elements.size() % (arrayFirstDim * arraySecondDim) == 0)) {
writer.write(name + " :\n");
for (int i = 0; i < elements.size(); i += arrayFirstDim * arraySecondDim) {
for (int j = 0; j < arrayFirstDim; j++) {
writer.write(" ");
for (int k = 0; k < arraySecondDim; k++) {
String val = elements.get(i + j * arraySecondDim + k);
for (int l = val.length(); l < maxLength; l++) {
writer.write(" ");
}
writer.write(val + " ");
}
writer.write("\n");
}
writer.write("\n");
}
writer.write("\n");
}
}
......
......@@ -52,6 +52,15 @@ public class Testing {
timeLimitS);
}
public static String solveTaskWithGreedyConstraints(TaskCase task, int timeLimitS) {
return solveTask(
task,
"conversion_2_greedy.mzn",
ConversionUtil::portToMiniZincGreedy,
ConversionUtil::resolveMiniZincResults,
timeLimitS);
}
public static String solveTask_2_0(TaskCase task, int timeLimitS) {
return solveTask(
task,
......
......@@ -292,7 +292,7 @@ Final Storage State
10002; 38; 4500
Task Properties
100.0; 0
20.0; 0
Solution
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment