|
CS Games is a brand new competitive event hosted by McGill University
in Montreal. It allows students from both US and Canadian schools to compete
against each other in an agglomerate of logic, coding, and computer gaming
trials. Our experience included three sessions of logic puzzles, one session
of AI development, one session of debugging, one session of scripting,
and one session of website design. In addition to these mind-intensive
events, points were also scored based on our involvement in a city-wide
and campus-wide scavenger hunt, a computer gaming tournament, and some
friendly participation-points-only sporting events (basketball and volleyball).
Events:
- Across the river and back (Logic #1)
Two members from each team joined forces to solve a range of logic puzzles.
Here are some of the problems we had to solve:
Pirates' Booty
Five pirates find a treasure of 500 gold pieces.
The senior pirate gets to decide how to distribute the gold, and then
all the pirates get to vote yes or no. If at least half of the
pirates vote 'yes', then the gold is distributed according to the senior
pirate's plan, but if at least half the pirates vote 'no', then the
senior pirate is killed, and the process starts over again for the next
senior pirate. Assuming every pirate is logical, how should the senior
pirate divide up the gold so he gets as much as possible?
Poor Man's Decision
A beggar can't decide on which side of the street
to beg. He wants to toss a coin to get an equal chance that he end up
on either side, but all he has is a thumbtack. How can he use a thumbtack
to perfectly simulate the 50-50 nature of a coin toss?
- Surf me, baby (Web Design)
A single representative from every team was provided with identical
resources to construct a website for a hypothetical web-hosting company.
Provided
to the site designer were the following resources and tools:
Notepad
Photoshop 7
Gimp 1.2.4
Internet Explorer 6
Mozilla 1.2.1
Opera 7
Information about the company
Image gallery with logos and photos
Guides on HTML, JavaScript, CSS, and Dhtml
Evaluation was based on look and design, ease of use, ease of update,
content, and cross-browser compatibility.
- Clone Wars (A.I. / Competitive Programming)
This
three-person event presented those participating with a unique and challenging
event. The goal was to create the AI for a game similar to the popular
Go, except for 6 players and played on a hexagonal board with sides
of length five.
An almost-complete Java implementation of the client was provided to
each team. Our responsibility was to figure out a good strategy, become
familiar with the code, and then implement our strategy. The three hour
time limit meant that we had no time to test our AI, but as seen here,
it turned out to work alright.
- The Prisoner's Dilemma (Logic #2)
Similar to Logic #1, except here the event was conducted more
like a game show. Two team members were handed a slip of paper with
a question on it, and then teams buzzed in to state their answer. The
first team to correctly answer would score three points for a full solution,
if they gave only a partial answer (like a guess with no justification)
that was correct they would recieve only 1 point, and wrong answers
were minus a point. Each question was answered, on average, within 30
seconds of being handed out. Some of the questions were (literally)
taken from the game Mindtrap, and the rest were of similar fashion.
This event ran concurrently with Debugging, and one member of the team
rotated out of Logic #2 and into Debugging, and vice versa, every hour.
- Segmentation Frustration (Debugging)
Here,
one member at a time was presented with a linux box, which had 10 c++
source files in 10 different directories, each one containing an error
or two which would prevent compilation or proper excecution. The member
was allowed either to change a line or add a line depending on the problem.
One problem contained a faulty recursive binary tree search function,
where one line within the actual search function was allowed to be modified
to correct the error.
- Shell it out (Shell Scripting)
We were least prepared for this event. We were banking on the possibility
that perl scripts would be allowed, but alas, only sh, bash, csh, ash,
and zsh shell scripts were allowed. Two people from every team had 2
computers (Linux) and three hours to solve any number of 15 different
problems, ranging from easy to ridiculous, with points allocated appropriately.
An easy problem and then a hard problem:
primfacts- read a number from command line and output the prime
factors.
Examples:
primfacts 65
> 5*13
primfacts 28
> 2*2*7
cacheweb- cacheweb downloads and caches local copies of web
pages. It takes 2 arguments, the root URL and a level. If the level
is 0, then only the main document (pointed to by the URL) is saved.
If the level is 1, then the root page is downloaded locally, and any
data (archives or other pages) pointed to by this page are also downloaded
locally. If the level is 2, then the root page is downloaded, all pages
liked from the root pages are downloaded and cached, and all the links
from the newly downloaded pages are also cached. cacheweb does
not accept a level higher than 3. Note that downloaded files should
contain only local links/references to local files. Note also that directory
structure should be preserved. These cached pages should be completely
browseable (to a limited depth, of course) strictly locally, without
having an internet connection present.
Example:
cacheweb http://www.slashdot.org/
2
- Deep Thought (Logic #3)
In this one person event, the participant is given a packet of 35 logic
problems and three hours to compete as many as possible. Questions
fell into several categories:
Complete the series:
J,J,A,S,O,N,D,J,_,M,A,M
1, 6, _, 496
Mathematical Logic:
You are standing in a hallway with 1000 doors in a row with 1000 friends.
Your first friend opens all the doors, as they are all initially closed.
Your second friend then walks down the hallway, closing every other
door. Your third friend will open/close every third door he encounters.
After all 1000 friends have walked down the hallway, how many doors
are left open?
A professor invites two intelligent students to his classroom.
He tells them he is thinking of a two digit number. To one student
he whispers the sum of the two digits in the number. He whispers
the product of the two numbers to the other student. The two students
then have the following conversation:
Student A: I don't know the numbers.
Student B: I don't know the numbers either, and I knew you wouldn't
know them.
Student A: I now know the numbers.
Student B: I also now know the numbers.
General Knowledge:
Why should you be afraid today if you were Julius Caesar (The date of
the competition was March 15)
Is Schrödinger’s Cat alive or dead?
- Run for your life (Montreal Scavenger Hunt)
This event was stupid. Three team members used a map to walk through
Montreal and take pictures at landmarks. Also there were items with
point values to collect during the trip.
- Only the Strong will survive (LAN Gaming)
Three
games were used as means to distinguish the team with the highest-skilled
gamers. One person to play each game, competitions were held in Worms
Armageddon, Counter-Strike, and Colin McRae Rally 3.
- Run for your life - Ghetto remix (McGill Scavenger Hunt)
This was also stupid. Again, three team members had to collect garbage
for points, and answer obscure questions about McGill campus, like names
of statues and inscriptions on buildings. Items to be collected were
more random objects one might find in a refrigerator, trash can, or
dollar store.
|