PHP Programming Contests - July - August 2003 - No. 4

Please note this contest ended August 17th @ 23.59.



Contest A4 (Personal Money Manager)

This contest is intended for PHP Programmers with less that 6 months experience (or equivalent). You will be given a problem and it's your job to give your coded solution.

Contest Details:
The contest is similar to the `Personal Diary` contest, but this time your scripts will help manage your money. I have listed a few features to consider (nothing is set in stone).

1. Multiple bank account details.
2. Bank Account ingoing payments, daily, weekly, monthly etc.
3. Bank Account outgoing payments, daily, weekly, monthly etc.
4. Current, Past and Future Account Balance.
5. Overdrawn notices/warnings.
6. Bank interest charges.
7. Multinational support (Dollars $ and Pounds )

Closing Date:
All entries in by Monday 18th August 2003 at 23.59 (GMT)

Submissions:
Send your entry (including scipts) to contest@php-editors.com please include a text file 'contact.txt' with your forum username, Full Name and Email Address. Submissions should be zipped.

Judging:
This contest will be judged with a point scoring system 1-10 (10 is the best):

Features
Usability
GUI Design
Coding

In the event of more than one submission having the same score the following will decide the winner:
1. Best scripting methods.

Rules and Restrictions:
If using a database system, it must be either MySQL or Postgres -
- SQL to re-create an databases MUST be supplied.
Must run on Windows, and Unix systems
Must run with PHP4.2 (register globals off)
No third party PHP extensions ( other than ones supplied with php 4.2 on php.net )
Maximum execution time 60 seconds.
All code must be writen by you !!


Prizes:
1st. Zend Studio, Zend PHP-Addict tshirt
2nd. 1 years subscription to PHP|Architect, Template Tamer
3rd. 1 month free hosting from TheHostingCompany.us. (Platinum Package)



Contest A4 Winner

Unfortunatly no entries to this contest were recieved in time. The prizes have been passed to contest B4.



Contest B4 (Pizza Dude)

This contest is intended for the PHP Programmer with more than 6 months experience. You will be given strict instructions and it's your job to create the most effective coded solution.

Contest Details:
You have just got a new job as a Pizza Deliverer; the location is in a new town cleverly designed with those nice new one way traffic systems (he, he). To do your job successfully you need to deliver a number of orders to various destinations. You have been supplied a bottom of the range 50cc scooter with an extremely low fuel tank (bummer). So, in order to keep your job (and not get stuck in the middle of nowhere) you need to plan your route perfectly.

You will be supplied with a map which includes route distances. Delivery destinations and your time limit.

Map
Here is an example map:


Your map will look like this: (supplied in a text file, map.txt)

A 20 L 1
A 8 B 2
B 4 C 2
B 3 C 1
B 7 H 2
C 6 F 2
D 11 I 2
E 5 H 2
G 4 I 2
G 4 E 1
H 5 I 2
H 7 L 2
J 5 F 1
J 3 K 2
K 8 L 2

* note: above map has been fixed (23rd July)


Key to your map
From | Distance | To | Rounte Type
There are 2 route types available. 1 = one way, and 2 = two way.
Note that '2' routes are only shown one way on the map (2 ways can be used). For example, if the map has A 5 B 2, then B 5 A 2 is also valid but will not be shown.

Delivery
Your delivery instructions will have this structure: (supplied in a text file, dest.txt)
A L I G B
It's up to you to plan your route, you do not have to deleiver in any certain order. For example you can deleivery to G then A then B etc, if you think this is the shortest route. I will allow your start point to be your first destination. Remember you cannot travel the wrong way on a one way system!! You can travel via other destinations, for example to travel from G to L - you can do G->I->H->L.

Time Limit
Your time limit is 60 seconds (scooters are fast these days you know :)

Details
Your script will be presented with map.txt and dest.txt, no graphical map will actually exist. map.txt will follow this structure: From, space, distance, space, To, space, route type (1 or 2 way). dest.txt will have this structure: Destinations split by a single space. One way structures cannot be altered, if the map has A 5 B 1 then you cannot use the route B->A directly. Script Maximim execution time will be set to 60 seconds. This may be increased if all entries fail (but im sure this will not happen :)

WINNING
The winner will be the script that finds the shortest route. In the event of a tiebraker, the fastest script will rank higher. Script accuracy is more important that speed!!!

Input
map.txt and dest.txt as explained above

Output
Your route delivery points in order, followed by total distance. For example:
A B I G L 40
Do not output via rounte points. For example I traveled from B to I via H, H should not be shown in the output. My solution above may not be the best (more than likely will not).

Final Notes
The map and destinations given above are examples only, your script may be tested on different ones.

Closing Date:
All entries in by Monday 18th August 2003 at 23.59 (GMT)

Submissions:
send your entry (with scripts) to contest@php-editors.com please include a text file 'contact.txt' with your forum username, Full Name and Email Address. Submissions should be zipped.

Judging:
In the event of a tiebrake (when script execution time is used) I will execute several runs on each script to obtain an average.

Rules and Restrictions:
Must run on Windows, and Unix systems
Must run with PHP4.2 (register globals off)
No third party PHP extensions ( other than ones supplied with php 4.2 on php.net )
Maximum execution time 60 seconds.
All code must be writen by you !

Prizes:
1st. Nusphere PHPEd
2nd. 1 years subscription to PHP Magazine, Tamplate Tamer, $15 ThinkGeek Voucher
3rd. 1 month free hosting from TheHostingCompany.us. (Platinum Package)



*UPDATE: On the 23rd July I updated the Map and routes - I also stated that your start point is your first drop-off.



Contest B4 Winner

1st place winner is: Torsten Rentsch
2nd place winner is: Oliver Heil
3nd place winner is: Matteo Beccati

View full results and code >>



© Copyright 2003-2014 www.php-editors.com. The ultimate PHP Editor and PHP IDE site.