To compile the files, you need a compiler that supports C++ 2011 (-std=g++0x/c++0x/g++11/c++11 in GCC) generator.cpp - Generates 300 files of length N using an alphabet of size K following a binomial distribution. Input: The value of the integers N and K (standard input) Output: None from standard output. The generated files are numbered from 1 to 300. In case your compiler does not support the non-standard function itoa, you can implement it like this: #include char* itoa(int n, char* buffer, int base) // the base is ignored { std::sprintf(buffer, "%d", n); return buffer; } lcs.cpp - Finds how many pairs of strings from a given set are similar. Input: The name of the files from where to read the strings (standard input, input ends with EOF). Output: The number of files read, the number of similar pairs found and the time taken by the Wagner-Fischer algorithm and the breadth-first-search algorithm (standard output).