maandag 19 februari 2007

bezoek

Ik had eigenlijk gisteravond al willen posten maar het maken van de oneliner voor TopCoder waar ik mee bezig was duurde nogal lang en toen die af was was het al bedtijd geweest :-). Maar het resultaat is best mooi:

public class Response {

public int response(int[] p, int[] e) {
return
p.length == 1 ? e[0] :
(p[0] < 1024 ? (p[0] += 1024 * e[0]) & (p[p.length-1] = 1) &
(e[0] = 0) | response(p, e) :
(e[p.length-1] < 1024 ?
((p[p.length-1]&63) < p.length - 1 ? (p[(p[p.length-1]&63)] += 1024 *
e[(p[p.length-1]&63)]) &
(e[(p[p.length-1]&63)] = 0) & (p[p.length-1] += 1) | response(p, e) :
(e[p.length-1] += (21 * 1024)) & (p[p.length-1] = 0) |
response(p, e)) :
((e[p.length-1] >> 10) > 1 ?
(e[p.length-1] -= 1024) & 0 |
(response(p, e) != 0 ?
((p[p.length-1] >> 7) + 1) :
(p[p.length-1] += 128) & 0 |
(response(p, e) != 0 ?
((p[p.length-1] >> 7) + 1) :
(e[p.length-1] += 1024) & 0)) :
((p[p.length-1]>>7) >= 1000000 ?
p[p.length-1] = -2 << 7 :
((p[p.length-1] & 64) == 0 ?
((p[p.length-1]&63) < p.length-1 ?
((p[p.length-1]>>7) % (p[(p[p.length-1]&63)] & 1023) == 0 ?
(e[(p[p.length-1]&63)] += p[(p[p.length-1]&63)] >> 10) :
0) &
(p[p.length-1] += 1) & 0 |
response(p, e) :
(p[p.length-1] &= ~63) & (p[p.length-1] |= 64) & 0 |
response(p, e)) :
((p[p.length-1]&63) < p.length-1 ?
(e[(p[p.length-1]&63)] > 0 ?
(e[(p[p.length-1]&63)] -= 1) &
(p[p.length-1] &= ~127) & 0 :
(p[p.length-1] += 1) & 0 | response(p, e)) :
(e[p.length-1] -= 1) & 0 |
((e[(p[p.length-1]&63)] & 1023) == 0 ?
((p[p.length-1]>>7) + 1) :
(p[p.length-1] &= ~127) & 0)))))));
}
}
En nee, dit soort code schrijf ik niet voor Google :-].

Zaterdag ben ik samen met de buren naar Ikea geweest. Twee kleine tafeltjes en een lamp gekocht. Ik heb ook nog een mooi bureau gezien en ik wil nog een klerenkast en nog meer dingen maar hun auto is niet zo groot en ze wilden zelf natuurlijk ook nog wat dingen meenemen. Was wel gezellig verder. En de grotere spullen kan ik waarschijnlijk met m'n vader ophalen want die komt over 2 weken op bezoek. Kan ik eindelijk mijn huisje echt laten zien :-).

5 opmerkingen:

Jasper zei

Kan je nu ook uitleggen wat het doet? Ja ok, het is een response ergens op, vast eoa protocol.

David zei

Er is een aantal verschillende soorten taken die steeds opnieuw gedaan moeten worden. Iedere p[i] seconde is er een nieuw i-taak beschikbaar (p van periode). En het uitvoeren van een i-taak duurt e[i] seconde (e van exectution time). Op ieder moment wordt een beschikbare taak met de laagste i uitgevoerd. De vraag is wanneer de eerste taak met de hoogste i klaar is. Als dit na meer dan een miljoen seconde is moet er -1 gereturnt worden.

Dus stel p = {4, 5, 6} en e = {1, 2, 3}, dan gebeurt er het volgende:
seconde, taak:
0, 0
1, 1
2, 1
3, 2
4, 0
5, 1
6, 1
7, 2
8, 0
9, 2
Dan is taak-2 gedurende 3 seconde uitgevoerd en dus klaar. return 10.

Unknown zei

Hallo David, (Hier spreekt weer een vrouw!) Heb je de SONNE al ontdekt? Nou, ik heb sinds vandaag (via marktplaats welliswaar) een heel mooi exemplaar ervan in huis staan! Ik ben helemaal blij. Nou, ik dacht, laat ik mijn vreugde even met David delen aangezien jij ten minste veel van de Ikea weet tegenwoordig. Ik heb de oranje versie van SONNE, die is (in Nederland) niet meer te verkrijgen in de winkel en dat terwijl deze juist zo mooi is....!!!
De groetjes aan Zurich en de googelers!

David zei

Bedankt voor de tip! Ik zal er eens naar kijken. Kun je die wieltjes ook blokkeren zodat ie niet wegrijdt als je de la opentrekt?

Unknown zei

haha bij mij blijft ie staan als je de laatjes open doet maar ik heb het kastje dan ook erg vol geladen... als ik m nog wil rollen moet ik erg mijn best doen!
Vraagje: weet jij waarom google google heet?
fijne dag!