Skip to main content
GameDev.net gamedev.net
🔒 Locked

programming contest mini-success

Started by capn_midnight Apr 17, 2004 at 10:29 PM 5 replies 400+ views
Original Post
capn_midnight
capn_midnight
well, today was my first day competing with the "varsity" team, usually I compete with the ragtag "JV" team (ragtag because it''s always different people). We solved 6 out of 7 problems and took 3rd place. Not bad, I have some notes for some things I want to work on, and hopefully we will do better next time (next year). There will be a lot of practicing going on on Topcoder this summer. This year world finals were in Prague, Czech Republic, next year it is in Shanghai. Now, our varsity team went this year, so I will definitely be working hard to make sure we go next year.
capn_midnight | Captain Midnight | deviantArt ACM | SIGGRAPH | Generation5
lethalhamster
lethalhamster
oh

___________________________
"It takes all kinds" -Adam Carolla
............Could Jesus microwave a burrito so hot that he himself could not eat it?
Code_Dark
Code_Dark
quote:
Original post by capn_midnight
well, today was my first day competing with the "varsity" team, usually I compete with the ragtag "JV" team (ragtag because it''s always different people). We solved 6 out of 7 problems and took 3rd place. Not bad, I have some notes for some things I want to work on, and hopefully we will do better next time (next year). There will be a lot of practicing going on on Topcoder this summer. This year world finals were in Prague, Czech Republic, next year it is in Shanghai. Now, our varsity team went this year, so I will definitely be working hard to make sure we go next year.



capn_midnight | Captain Midnight | deviantArt
ACM | SIGGRAPH | Generation5


So... why, exactly, aren''t you usually on varsity?


- CD



// Brought to you by Code_Dark
| [( Politics Forum Beta-Test )]
capn_midnight
capn_midnight
because there was no opening. there can only be 3 people per team, and one person is graduating this year, so they stepped down early so that the other 2 could try me out. they said when they were talking about who would fill in, my name was the only one that came up, and I've really only started with programming last semester.



capn_midnight | Captain Midnight | deviantArt
ACM | SIGGRAPH | Generation5

[edited by - capn_midnight on April 18, 2004 4:13:52 PM]
WiseElben
WiseElben
What are the problems like? What language?

Elben

"Give a man a fish and he will eat for a day. Teach a man how to fish and he will eat for a life time."
-Chinese Proverb
WiseElben.com - Experience Wisdom
capn_midnight
capn_midnight
well, there are quite a few problems here. Usually C/C++ and Java are used, though I recently competed in one that allowed python.

problems are short kind of algorithmic word problem based things, most are meant to be completed in about half an hour. You are given specifications for input, and specs for output (which you must match exactly). A set of test data is given, along with the correct output for that data.

Here''s a sample problem. This one seems rather difficult, actually.
quote:
Morse Mismatches

Samuel F. B. Morse is best known for the coding scheme that carries his name. Morse code is still used in international radio communication. The coding of text using Morse code is straightforward. Each character (case is insignificant) is translated to a predefined sequence of dits and dahs (the elements of Morse code). Dits are represented as periods (`.'''') and dahs are represented as hyphens or minus signs (-''''). Each element is transmitted by sending a signal for some period of time. A dit is rather short, and a dah is, in perfectly formed code, three times as long as a dit. A short silent space appears between elements, with a longer space between characters. A still longer space separates words. This dependence on the spacing and timing of elements means that Morse code operators sometimes do not send perfect code. This results in difficulties for the receiving operator, but frequently the message can be decoded depending on context.


In this problem we consider reception of words in Morse code without spacing between letters. Without the spacing, it is possible for multiple words to be coded the same. For example, if the message
dit dit dit'''' were received, it could be interpreted as EEE'''', EI'''', IE'''' or S'''' based on the coding scheme shown in the sample input. To decide between these multiple interpretations, we assume a particular context by expecting each received word to appear in a dictionary.


For this problem your program will read a table giving the encoding of letters and digits into Morse code, a list of expected words (context), and a sequence of words encoded in Morse code (morse). These morse words may be flawed. For each morse word, your program is to determine the matching word from context, if any. If multiple words from context match morse, or if no word matches perfectly, your program will display the best matching word and a mismatch indicator.


If a single word from context matches morse perfectly, it will be displayed on a single line, by itself. If multiple context words match morse perfectly, then select the matching word with the fewest characters. If this still results in an ambiguous match, any of these matches may be displayed. If multiple context words exist for a given morse, the first matching word will be displayed followed by an exclamation point (
!'''').


We assume only a simple case of errors in transmission in which elements may be either truncated from the end of a morse word or added to the end of a morse word. When no perfect matches for morse are found, display the word from context that matches the longest prefix of morse, or has the fewest extra elements beyond those in morse. If multiple words in context match using these rules, any of these matches may be displayed. Words that do not match perfectly are displayed with a question mark (
?'''') suffixed.


The input data will only contain cases that fall within the preceding rules.

Input
The Morse code table will appear first and consists of lines each containing an uppercase letter or a digit C, zero or more blanks, and a sequence of no more than six periods and hyphens giving the Morse code for C. Blanks may precede or follow the items on the line. A line containing a single asterisk (
*''''), possibly preceded or followed by blanks, terminates the Morse code table. You may assume that there will be Morse code given for every character that appears in the context section.


The context section appears next, with one word per line, possibly preceded and followed by blanks. Each word in context will contain no more than ten characters. No characters other than upper case letters and digits will appear. Thered will be at most 100 context words. A line containing only a single asterisk (
*''''), possibly preceded or followed by blanks, terminates the context section.


The remainder of the input contains morse words separated by blanks or end-of-line characters. A line containing only a single asterisk (
*''''), possibly preceded or followed by blanks, terminates the input. No morse word will have more than eighty (80) elements.

Output
For each input morse word, display the appropriate matching word from context followed by an exclamation mark (
!'''') or question mark (`?'''') if appropriate. Each word is to appear on a separate line starting in column one.

Sample Input

A .-
B -...
C -.-.
D -..
E .
F ..-.
G --.
H ....
I ..
J .---
K -.-
L .-..
M --
N -.
O ---
P .--.
Q --.-
R .-.
S ...
T -
U ..-
V ...-
W .--
X -..-
Y -.--
Z --..
0 ------
1 .-----
2 ..---
3 ...--
4 ....-
5 .....
6 -....
7 --...
8 ---..
9 ----.
*
AN
EARTHQUAKE
EAT
GOD
HATH
IM
READY
TO
WHAT
WROTH
*
.--.....-- .....--....
--.----.. .--.-.----..
.--.....-- .--.
..-.-.-....--.-..-.--.-.
..-- .-...--..-.--
---- ..--
*

Sample Output

WHAT
HATH
GOD
WROTH?
WHAT
AN
EARTHQUAKE
EAT!
READY
TO
EAT!





capn_midnight | Captain Midnight | deviantArt
ACM | SIGGRAPH | Generation5

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.