Commit 40b87b9c authored by Vladislav Kiselev's avatar Vladislav Kiselev

Упрощение.

parent 20b1908f
...@@ -13,17 +13,19 @@ import inport.ConversionUtils.ParserException; ...@@ -13,17 +13,19 @@ import inport.ConversionUtils.ParserException;
import inport.ConversionUtils.Task; import inport.ConversionUtils.Task;
public class Main { public class Main {
private static final int DEFAULT_TIME_LIMIT_S = 3600; private static final int DEFAULT_TIME_LIMIT_S = 3600;
private enum ConversionType { private enum ConversionType {
Undefined (""), Undefined ("", ""),
WithoutSplitting("Without splitting"), WithoutSplitting("Without splitting", "conversion_2.mzn"),
WithSplitting ("With splitting"); WithSplitting ("With splitting", "conversion_2_with_partial_cargo_operations.mzn"),
Greedy_v2 ("Greedy v2", "conversion_2_greedy_v2.mzn");
private final String text; private final String text;
ConversionType(String text) { private final String constraintName;
ConversionType(String text, String constraintName) {
this.text = text; this.text = text;
this.constraintName = constraintName;
} }
public static ConversionType fromString(String text) { public static ConversionType fromString(String text) {
for (ConversionType t : ConversionType.values()) { for (ConversionType t : ConversionType.values()) {
...@@ -62,31 +64,21 @@ public class Main { ...@@ -62,31 +64,21 @@ public class Main {
ConversionType t = (args.length == 2) ? ConversionType.WithoutSplitting ConversionType t = (args.length == 2) ? ConversionType.WithoutSplitting
: ConversionType.fromString(args[2]); : ConversionType.fromString(args[2]);
String constraintName; if (t.equals(ConversionType.Undefined)) {
System.out.println("Undefined conversion type - \"" + args[2] + "\".");
switch (t) {
case WithSplitting: ArrayList<String> values = new ArrayList<>();
constraintName = "conversion_2_with_partial_cargo_operations.mzn"; for (ConversionType conversionType : ConversionType.values()) {
break; if (! conversionType.equals(ConversionType.Undefined)) {
case WithoutSplitting: values.add("\"" + conversionType.text + "\"");
constraintName = "conversion_2.mzn";
break;
default:
System.out.println("Undefined conversion type - \"" + args[2] + "\".");
ArrayList<String> values = new ArrayList<>();
for (ConversionType conversionType : ConversionType.values()) {
if (! conversionType.equals(ConversionType.Undefined)) {
values.add("\"" + conversionType.text + "\"");
}
} }
System.out.print("Conversion type can be one of " + String.join(", ", values) + "."); }
return; System.out.print("Conversion type can be one of " + String.join(", ", values) + ".");
return;
} }
error = solveTask( error = solveTask(
task, task,
constraintName, t.constraintName,
Task::portToMiniZinc_2, Task::portToMiniZinc_2,
MZnResultsResolver::resolveMiniZincResults, MZnResultsResolver::resolveMiniZincResults,
DEFAULT_TIME_LIMIT_S); DEFAULT_TIME_LIMIT_S);
......
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