Redian新闻
>
Yodle puzzle,作出可申请工作
avatar
Yodle puzzle,作出可申请工作# JobHunting - 待字闺中
y*y
1
Yodle is looking for software engineers to join the team. Take a look at
our new puzzle below.
More details on the team can be found here : http://www.yodle.com/careers/job-details/senior-software-engineer-new-york-ny/
Look forward to hearing from you
Aviv
Juggle Fest
Many developers here at Yodle are avid jugglers. To celebrate their prowess
we are organizing a Yodle Open JuggleFest, but we need your help planning it
. There will be thousands of participants split into teams. Each team will
attempt to complete a juggling circuit consisting of several tricks. Each
circuit emphasizes different aspects of juggling, requiring hand to eye
coordination (H), endurance (E) and pizzazz (P) in various amounts for
successful completion. Each juggler has these abilities in various amounts
as well. How good a match they are for a circuit is determined by the dot
product of the juggler’s and the circuit’s H, E, and P values. The higher
the result, the better the match.
Each participant will be on exactly one team and there will be a distinct
circuit for each team to attempt. Each participant will rank in order of
preference their top X circuits. Since we would like the audiences to enjoy
the performances as much as possible, when assigning jugglers to circuits we
also want to consider how well their skills match up to the circuit. In
fact we want to match jugglers to circuits such that no juggler could switch
to a circuit that they prefer more than the one they are assigned to and be
a better fit for that circuit than one of the other jugglers assigned to it.
To help us create the juggler/circuit assignments write a program in a
language of your choice that takes as input a file of circuits and jugglers
and outputs a file of circuits and juggler assignments. The number of
jugglers assigned to a circuit should be the number of jugglers divided by
the number of circuits. Assume that the number of circuits and jugglers will
be such that each circuit will have the same number of jugglers with no
remainder.
Input file
One line per circuit or juggler. All circuits will come before any jugglers.
Circuit lines start with a C and juggler lines start with a J. Names of
circuits and jugglers will never have spaces. A skill and the rating for
that skill are separated by a colon. Circuit lines have the circuit names
followed by skills. Juggler lines have the juggler names followed by skills,
followed by circuits in order of preference, separated by commas. Example:
C AroundTheWorld H:8 E:6 P:7
C Factory H:5 E:9 P:8
J Bob H:4 E:6 P:9 AroundTheWorld,Factory
J Ann H:7 E:3 P:8 AroundTheWorld,Factory
J Sam H:8 E:8 P:9 Factory,AroundTheWorld
J Jen H:6 E:9 P:2 AroundTheWorld,Factory
Output file
One line per circuit assignment. Each line should contain the circuit name
followed by the juggler name, followed by that juggler’s circuits in order
of preference and the match score for that circuit. The line should include
all jugglers matched to the circuit. The example below is a valid assignment
for the input file above.
AroundTheWorld Bob AroundTheWorld:131 Factory:146, Ann AroundTheWorld:130
Factory:126
Factory Sam Factory:184 AroundTheWorld:175, Jen AroundTheWorld:116 Factory:
127
Run your program on this input file http://www.yodle.com/downloads/puzzles/jugglefest.txt which contains 2000 circuits and 12000 jugglers. Send us both your code and the output file to the following e-mail address: the sum of the names of the jugglers (taking off the leading letter J) that are assigned to circuit C1970 @yodle.com. So for example if the jugglers assigned to circuit C1970 were J1,J2,J3,J4,J5 and J6 you would send your solution to [email protected]
________________________________________________
算法似乎很简单,
我是先按juggler的preference选circuit, 如果遇到一个circuit满了的情况,就把dot
product最小的那个juggler剔除,把更fit的加进去. 直到所有的juggler都被安排好了.
但我有大约190个左右的juggler安排不进去...
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。