		  ENTRY FOR ICFP PROGRAMMING CONTEST 2003

          			 Team Tortue

		    
DESCRIPTION

  This is a C++ source code. It is standard C++ except for the 64 bits
  integers (there is no "at least 64 bits integer" in the standard).

  Note that this is written in a mix of english en french.

  I compiled it with Linux and Windows.

  No special libraries needed. On Linux with Intel C Compiler, use :
    icc -O3 ci.cpp

METHOD

  There are three parts:

- Compute how many pixels separate each pixel from the goal. It uses a
  simple recursive algorithm. To speed up the process, the algorithm is
  computed on a recursively scaled down map.

- Create a simple path made of straight lines that can have 8 directions.
  Each edge is a waypoint. It is garanteed that the car can follow this
  path by stopping at each waypoint then turning until it faces the next
  waypoint.

- Optimize the path.


  To drive between two waypoints, the car uses two steps:
  
- In the first step it turns left or right until it faces the next
  waypoint. It tries to accelerate as much as possible or it brakes if
  necessary.

- In the second step it accelerates every step until it must brake. If
  necessary, the car rectify its trajectory by turning left or right.


  The path is optimized by three ways :
  
- Removing a waypoint.

- Moving a waypoint.

- Raising the speed at which the car must reach a waypoint.


RESULT

  The result is not really good. It can always drive a valid track
  because there is no assumption made and the user has not to input
  anything, but the model is too simple.

  The main flaw is the way that the car go from a waypoint to an
  other. In order to allow a fast optimization of the path, it may
  be too simple.

   1_Simple        13905
   2_Hairpins      20579
   3_Sepang        20588
   4_EatYouAlive   21832
   5_Car            8337
   6_IcfpContest    6647
   7_Gothenburg     6509
   8_ManyWays      22023
   9_PhilAndSimon  15031
   
   Total          135451
   
   X_Rally         60081
   

KNOWN BUGS

  The car crashes at the end of Een. In fact, the end of the trajectory
  is not done correctly, but it works with the other tracks.
  
  The model does not support the rally mode.


CONTACT

  ifcp@sidoine.net (not to display on a website)
  or sidoine@wanadoo.fr


WEB SITE

  http://www.sidoine.net/icfp/
