-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathmain.cpp
23 lines (21 loc) · 933 Bytes
/
main.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "evolve.h"
#include "nqueens.h"
#include "knights_tour.h"
#include <iterator>
int main(int argc, char** argv) {
if(argc > 1 && std::string(argv[1]) == "nqueens" ) {
//Start off with 50 boards.
std::vector<NQueens::Board> initialBoards;
std::generate_n(std::back_inserter(initialBoards),50,NQueens::Board::random);
Evolve::Generation<NQueens::Board> seedGeneration{std::move(initialBoards)};
Evolve::evolve(seedGeneration);
} else if(argc > 1 && std::string(argv[1]) == "knightstour"){
//Start off with 50 tours.
std::vector<KnightsTour::Tour> initialTours;
std::generate_n(std::back_inserter(initialTours),50,KnightsTour::Tour::random);
Evolve::Generation<KnightsTour::Tour> seedGeneration{std::move(initialTours)};
Evolve::evolve(seedGeneration);
} else {
std::cout << "Usage: \n evolve [nqueens|knightstour]\n";
}
}