To use the offline tester for testing your solution locally, you'll have to adopt your solution to read the parameters from standard in and write the output to standard out. This doesn't affect the functioning of the solution you submit to our server.
The tester uses pre-generated data about enzymes and statistical distributions for Markov models. Therefore, in order for it to work properly, make sure that you download these files and put the distributions in directory called "models" located in the directory from which you run the tester, and the enzymes in the tester directory itself.
Your program should first read dna. After this if should read the number of elements in enzymes, followed by the elements themselves, one per line. Finally, 8 elements of restrictions follow. Make sure to read whole lines carefully - they contain spaces. After the calculations are done, print the number of elements in your return, followed by elements themselves, one per line. Finally, flush standard out.
To do this, you should implement the following pseudocode:
    dna = readLine()
    NE = int(readLine())
    for (i=0; i < NE; i++)
        enzymes[i] = readLine()
    for (i=0; i < 8; i++)
        restrictions[i] = readLine()
    ret = findEnzymeCocktail(dna, enzymes, restrictions)
    for (i=0; i < ret.size(); i++)
To run the tester with your solution, you should execute:
java -jar Tester.jar -exec "<command>" -seed <seed>
Here, <command> is the command to execute your program, and <seed> is seed for test case generation. Additionally you can use -debug option to turn on printing information about test case generation.
Note that it's only possible to test on generated DNAs using the provided tester, it doesn't support testing on real DNAs.
Finally, you can print any debug information of your solution to standard error, and it will be forwarded to the standard out of the tester.
For more information on using the tester see Note that this is not a troubleshooting thread; please use the match forum for questions.