-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path_Guidelines.txt
45 lines (28 loc) · 1.78 KB
/
_Guidelines.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
For file based optimisation contest:
1. Prepare GameState class fields and objects.
2a. Read GameState from IOClient or Console.Readline directly. If multiple objects there pass IOClient to then in constructors.
2b. Read global parameters of the case to World.
3. Prepare Result class fields and split it into Actions taken (prefered).
4. Write the IOClient TakeAction where it is outputed to Console.Writeline. Can use Result.Print().
5. Write a dummy version and verify that any points are achieved!
------------------------------------------------------------
Write real solution in Solution.cs:
- use multiples run methods from SolutionBase
- create results that can be assesed (CalculateQuality)
- use seeding to try various ideas / randomizations
- use SaveResultIfBetter(Result r) from IOClient to keep the currently best result for the given input file
-- so THE SOLUTION CAN KEEP CALCULATING FOREVER! And work is not lost upon crash.
------------------------------------------------------------
For simplest file based flow:
1. Choose 1 vs multi case in Program.cs (RunCase() or RunNCases())
2. Implement reading, solving, printing in Solution.Act()
------------------------------------------------------------
For initial debugging setup stdin redirection in Deadline project.
For running solutions use Run.bat test_name or RunAsync.bat test_name - they copy exe so work can go on!
It assumes that test are in Input and results should go to Output.
For quick running of all:
- update test name in RunItAll.bat or RunItAllAsync.bat
- run batch files (in case of async, every test is run in separate window)
To run on a subset just comment (for) and uncomment the interesting test cases in RunItAll.bat or RunItAllAsync.bat.
------------------------------------------------------------
GLHF!