In case anyone is interested in entering:

X-Sender: [EMAIL PROTECTED]
Date: Sat, 17 Nov 2001 10:14:41 -0500
To: "CHALLENGE-A" <[EMAIL PROTECTED]>
From: Bob Boonstra <[EMAIL PROTECTED]>
Subject: December 2001 Programmer's Challenge Problem Statement
Sender: <[EMAIL PROTECTED]>
List-Subscribe: <mailto:[EMAIL PROTECTED]>
List-Digest: <mailto:[EMAIL PROTECTED]>
List-Unsubscribe: <mailto:[EMAIL PROTECTED]>

Enclosed is the Programmer's Challenge for December 2001.

Mail solutions to:
  <mailto:[EMAIL PROTECTED]>

Due Date:  11:59PM, ET, 1 December 2001

Test code is not needed for this Challenge, as you will provide a complete 
application.  Test data will be available shortly.

Note that we are allowing solutions built using alternative development environments 
(e.g., REALbasic, MetaCard, Revolution).

-- Bob

--------------------

PARENT-TEACHER CONFERENCES

If you have children in school, you are familiar with parent-teacher conferences. 
Little Johnny isn't doing so well in French, or Algebra, or perhaps Advanced Calculus 
if your school has a gifted and talented program. Or Sally is doing very well in 
Subatomic Physics, and you'd like to hear her teachers tell you so.

I was reminded recently of a Challenge suggested by Ernst Munter to write code that 
would help schools schedule these conferences. Your Challenge this month is to arrange 
a set of parent-teacher conferences that maximize the parents' satisfaction and 
minimize the amount of time wasted by both parents and teachers in between conferences.

You will be given three data sets to work with for each test case. The first, in a 
file childrenNN.txt (where NN is a number from 01 to the number of test cases), will 
have one line for each child in the school, containing the child's name followed by 
the names of one or two parents. No child will appear on more than one line, and there 
will be no duplicate names of children. A sample would be the following:

Johnny Smith, Donald Smith, Marilyn Waters-Smith
Sally Jones,Samantha Jones

The second data set, in a file named teachersNN.txt, maps children to their teachers. 
Each line contains the name of a child, followed by the name of one of his/her 
teachers, followed by a number from 0 to 9 indicating the strength of the parents' 
desire to talk with that teacher. A value of 0 indicates no conference is desired, up 
to a value of 9 indicating the strongest desire for a conference. Example lines from 
this file might be:

Johnny Smith, Richard Darwin, 3
Johnny Smith, Rene Descartes, 9
Johnny Smith, Edgar Allen Poe, 0
Sally Jones, Rene Descartes, 5
Sally Jones, Albert Einstein, 9

The final data set, in a file named schedulesNN.txt, identifies which parents are 
available at which times. The first line in this file contains the number N of 
conference periods available for scheduling. All teachers can be available for any or 
all of the periods from 1..N. Subsequent lines contain the names of parents, along 
with the first and the last conference period for which they will be available. 
Parents will be available for any period between their first and last available 
periods, inclusive. Each parent whose name appears in the children.txt file will 
appear on one line in the schedules.txt file. Example lines from this file might be:

9
Donald Smith, 1,9
Samantha Jones, 4,9
Marilyn Waters-Smith,4,6

Finally, the number of test cases is provided in a file input.txt, with a single line 
containing the number of test cases:

15

Your code needs to produce output that provides the matching of parents to teachers. 
The output (conferencesNN.txt) should contain one line for each conference, with the 
name of the teacher first, the name of the parent second, and the conference period 
third. No parent or teacher can be in more than one conference during a given period. 
Both parents of a given child can participate in a conference with a teacher if they 
are both available during that period (two lines would be output in such a case). One 
line in such a file might be:

Richard Darwin,Marilyn Waters-Smith,5

Finally, your solution needs to produce a log file (log.txt) that contains, for each 
test case, the execution time in milliseconds that your solution required to process 
the test case.

Once again, the objective is to maximize parents' satisfaction with the conference 
schedule, and to minimize wasted time. The Challenge will be scored based on the 
number of penalty points accumulated by each entry. If a desired conference is not 
accommodated, you will accumulate 1-9 penalty points, depending on the strength of the 
parents' desire for that conference as expressed in teachers.txt. If a parent has a 
gap in the conference schedule, where a conference is scheduled during periods N and 
N+2, but not in N+1, you will accumulate one penalty point for each unscheduled period 
in the gap. Similar penalty points will accumulate for gaps in the conference schedule 
for teachers. Finally, the penalty will be increased by 10% for each second of 
execution time used by your solution.

We're going to make another attempt to broaden the development environments accepted 
for the Challenge, despite mixed success in the past. This will be a native PowerPC 
Challenge, using any of the following environments: CodeWarrior Pro, REALbasic, 
MetaCard, Revolution, or ProjectBuilder. You may use another development environment 
if I can arrange to obtain a copy - email [EMAIL PROTECTED] to check before 
you use something else. You can develop for Mac OS 9 or Mac OS X. Your submission 
should provide everything needed to build your application.


Archives: http://www.mail-archive.com/metacard@lists.runrev.com/
Info: http://www.xworlds.com/metacard/mailinglist.htm
Please send bug reports to <[EMAIL PROTECTED]>, not this list.

Reply via email to