-
October 19th, 2012, 10:22 AM
#1
Party Algorithm
I have got problem with this task from my university algorithm course (translated from german):
> John have got a party. He prepared $x$ glasses of vodka and $k*x$
> glasses of rum.
>
> Number of glasses is n. Each guests drink one
> round of alcohol (one round is $k$ glasses of rum and $one$ of vodka) but
> guest must chose glass that every full glass must have got one full
> neighbor.
>
> Write the program which simulate John's party. The party ends when all
> glasses are empty.
>
> In input we have got $n$ and $k$ which means number of glasses and number
> of glasses of rum drunk in single turn).
Simple Input : (assume that r is rum and v - vodka ).
> 16 3 vvrrrvrvrrrrrrrr
Simple Output : (we numbered glass 1...n)
> 1 14 15 16
> 2 11 12 13
> 3 4 5 6
> 7 8 9 10
Explain :
Guest 1 drink 1, 14, 15 and 16 glass.
Guest 2 drink 2, 11, 12, 13 glass.
etc.
We write it in ascending order. Notice that we have got $\frac{n}{(k+1)}$ guests, $n$ glasses, $k$ glasses of rum in every round. And in all inputs $k+1$ divides $n$. And $n$ can be very big - about 2 000 000. And we have about 1-2s to answer the question.
Find the fastest as possible algorithm to solve this problem.
Thanks for every help. If you have got any questions, i will answer it.
Edger.
-
October 19th, 2012, 10:40 AM
#2
-
October 19th, 2012, 04:02 PM
#3
Re: Party Algorithm
Originally Posted by Edger521
Thanks for every help. If you have got any questions, i will answer it.
I'm slightly Lost in Translation. Could you please post the German original.
Is this an algorithmic problem or is it a question of writing a simulation program to study an algorithm. If it's the latter I wouldn't expect anyone to supply such a program.
Have you tried something yourself? Some effort on your part is expected.
Posting Permissions
- You may not post new threads
- You may not post replies
- You may not post attachments
- You may not edit your posts
-
Forum Rules
|
Click Here to Expand Forum to Full Width
|