Board::Board(const State& state) { for (Pos pos = 0; pos != Pos::end(); ++pos) if (Problem::isBlock(pos)) myFields[pos.x()][pos.y()] = Atom("#"); else myFields[pos.x()][pos.y()] = Atom("."); for (int i = 0; i < NUM_ATOMS; ++i) { Pos pos = state.atomPositions()[i]; myFields[pos.x()][pos.y()] = Problem::atom(i); }  }
Board() { }
Board::Board(const State& state) {    for (Pos pos = 0; pos != Pos::end(); ++pos)	if (Problem::isBlock(pos))	    myFields[pos.x()][pos.y()] = Atom("#");	else	    myFields[pos.x()][pos.y()] = Atom(".");    for (int i = 0; i < NUM_ATOMS; ++i) {	Pos pos = state.atomPositions()[i];	myFields[pos.x()][pos.y()] = Problem::atom(i);    }}