Passing maps in solver from standard input instead of command line default tip
authorindvdum (gotoindvdum[at]gmail[dot]com)
Thu, 02 Aug 2012 15:12:33 +0400
changeset 548a248d789ec7
parent 53 80f5fc954cff
Passing maps in solver from standard input instead of command line
icfp-solver/src/main/java/ru/bosony/solvers/AbstractSolver.java
icfp-solver/src/main/java/ru/bosony/solvers/Solver.java
     1.1 --- a/icfp-solver/src/main/java/ru/bosony/solvers/AbstractSolver.java	Wed Jul 18 09:42:52 2012 +0400
     1.2 +++ b/icfp-solver/src/main/java/ru/bosony/solvers/AbstractSolver.java	Thu Aug 02 15:12:33 2012 +0400
     1.3 @@ -32,9 +32,9 @@
     1.4  				&& game.getRoute().size() < maxScoreGame.getRoute().size()) {
     1.5  			listener.foundNextRoute(game.getStringRoute());
     1.6  			// TODO delete
     1.7 -			System.out.println(new DecimalFormat("0.00").format((((System.currentTimeMillis() - startTime) / 1000d)))
     1.8 -					+ " seconds, State = " + game.getState() + ", Score = " + game.getScore() + ", Route("
     1.9 -					+ game.getRoute().size() + ") = " + game.getStringRoute());
    1.10 +//			System.out.println(new DecimalFormat("0.00").format((((System.currentTimeMillis() - startTime) / 1000d)))
    1.11 +//					+ " seconds, State = " + game.getState() + ", Score = " + game.getScore() + ", Route("
    1.12 +//					+ game.getRoute().size() + ") = " + game.getStringRoute());
    1.13  		}
    1.14  		games.add(game);
    1.15  	}
     2.1 --- a/icfp-solver/src/main/java/ru/bosony/solvers/Solver.java	Wed Jul 18 09:42:52 2012 +0400
     2.2 +++ b/icfp-solver/src/main/java/ru/bosony/solvers/Solver.java	Thu Aug 02 15:12:33 2012 +0400
     2.3 @@ -1,6 +1,8 @@
     2.4  package ru.bosony.solvers;
     2.5  
     2.6 +import java.io.BufferedReader;
     2.7  import java.io.IOException;
     2.8 +import java.io.InputStreamReader;
     2.9  
    2.10  import ru.bosony.model.mine.Mine;
    2.11  
    2.12 @@ -40,6 +42,17 @@
    2.13  		for (String arg : args) {
    2.14  			map += arg + "\n";
    2.15  		}
    2.16 +		if (map == null || map.length() == 0) {
    2.17 +			map = "";
    2.18 +			BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
    2.19 +			String line = "";
    2.20 +			while (line != null) {
    2.21 +				line = reader.readLine();
    2.22 +				if (line != null)
    2.23 +					map += line + "\n";
    2.24 +			}
    2.25 +			reader.close();
    2.26 +		}
    2.27  		map = map.replaceAll("\n$", "");
    2.28  		Mine mine = new Mine(map);
    2.29  		Solver solver = new Solver(mine);