Hola announces the start of the spring programming contest! The prize fund increased:
- First place: 3000 USD.
- Second place: 2000 USD.
- Third place: 1000 USD.
- We may decide to mark someone’s extremely original solutions with two special prizes of 400 USD.
- If you send someone a link to this contest, putting our address in CC, and this person will take the prize, you will receive half of the prize amount (of course, not to the detriment of the winner’s reward). For one winner, only one person can receive such an award - the one who sent the link first.
We are looking for talented programmers, so authors of interesting decisions will be invited for interviews.
Posted addition: Test program, frequently asked questions, common mistakes .
Posted addition: On the course of testing .

')
rules
This time we decided to try something new: for a change,
this competition is not about code performance .
Competition terms in English are posted
on GitHub . Below is a translation into Russian.
- Submit solutions using this form . No decision is made by email.
- Decisions are made until May 27, 2016 , 11:59:59 UTC.
- Preliminary results will be published on June 3, 2016 , and the final announcement of the winners - June 10, 2016 .
- You can send solutions repeatedly, but only the most recent solution will be reviewed from each participant, sent before the deadline for accepting work.
- For testing, we will use Node.js v6.0.0 (the current version at the time of publication). You can use any language features supported by the interpreter in the standard configuration.
- All solution code should be in a single JS file .
- The solution should be on JS. If you prefer CoffeeScript or similar languages, you need to broadcast the solution to JS before sending it.
- You can not load any modules , even those that come standard with Node.js.
- Your JS-file should be no more than 64 KiB .
- You can provide one additional data file for your program (see below). If you provide such a file, it shares the quota of 64 KiB with a JS file.
- If your JS file or additional data file is a product of generation, minification and / or compilation from other languages like CoffeeScript, please attach the archive with the sources, and also preferably with a description of the approach. The contents of this archive will be published, but we will not test it.
- We need to know your full name, but if you want, we will publish a pseudonym instead. We will keep your email address confidential.
- It is forbidden for participants to publish their decisions until the end of the competition. Violators will be disqualified.
- Ask questions about the problem statement in the comments to this publication or by e-mail .
Formulation of the problem
You need to write a program that distinguishes the words of the English language from sequences of characters that are not words. In this problem, we consider the words of the English language those and only those lines that appear in the list of
words.txt attached to the condition. Membership in the list is case-insensitive. It would seem that this is simple - you only need to check whether the string is found in the dictionary - if it were not for the limit on the size of the solution in 64 KiB.
It is hardly possible to write a program that would fit into the constraint and always give the right answers. But 100% correct answers are not required. We measure how often your program will respond correctly, and the program that gives the largest percentage of correct answers will win.
API
Your JS file must be a module for Node.js, exporting two functions:
init(data)
. , .
data
(
Buffer
), ,
undefined
.
test(word)
true
,
word
,
false
. .
. ,
Buffer
init
. 64 JS-, . , gzip. ,
zlib.gunzipSync
,
init
. , JS , . , , ; 64 .
. , — - ,
dknwertwi -
sonicative. ASCII-, ,
'
().
,
hola.org/challenges/word_classifier/testcase. , . — . , , , . JSON-, 100 , —
true
false
, ( ). , , . .
. ,
init
, . ,
Buffer
, ,
init
data
.
test
. , , .
, . 100 . . 100 , , . . , , .
. .
, , , , . — , , , . , , , . CoffeeScript, . README ( ). , , — . , , tar.gz zip, . 64 . , . , .
, , ,
.
!