[ALG] Programmeer wedstrijd - Wat neem ik allemaal mee?

Pagina: 1
Acties:

  • silentsnow
  • Registratie: Maart 2001
  • Laatst online: 15-04-2013

silentsnow

« '-_-' »

Topicstarter
Tot mijn verbazing moet ik rekenen op de afwezigheid van de Java API (1.4.2) op de ACM Greater NY programmeer wedstrijd morgen :r Daarom vraag ik mij af wat ik allemaal uit zal printen van de API, zodat ik morgen tenminste iets van de API tot mijn beschikking heb. Naast de API neem ik twee boeken mee, een voorbeeld class en een aantal projecten waar ik misschien het een en ander uit kan gebruiken. Electronica is verboden, dus alles moet geprint worden.

Het type vraag is enkel probleemoplossen, input/output van en naar een bestand, dus ik hoef me geen zorgen te maken over graphics, netwerken, etc. Enkele datastructuren lijken mij wel makkelijk, zoals Stack, ArrayList en LinkedList. Verder de standaard dingen als String, Math, StringTokenizer, en de datatypen als Double, Float, Integer, etc.

Het huidige lijstje ziet er zo uit:

java.lang.Math
java.lang.Double
java.lang.Float
java.lang.Integer
java.util.Stack
java.util.LinkedList
java.util.ArrayList
java.util.String/StreamTokenizer

Vergeet ik nog iets dat van belang is? Of heeft iemand nog tips?

The trade of the tools
[ me | specs ] Klipsch Promedia Ultra 5.1 + Sennheiser HD-590


Verwijderd

/me fronst
In mijn tijd had je op programmeerwedstrijden alleen maar toegang tot C en een Pascal2C vertaler.

Ik ga er van uit dat de opzet nog steeds is dat je op 1 computer met een team van 3 mensen een aantal (+/- 10) problemen krijgt, waarvan je er zoveel mogelijk moet oplossen.

De beste aanpak is om alle problemen snel door te nemen en te beslissen welke het eenvoudigst zijn. Kies er 1, en deel het project op. Laat 1 de in-/output code alvast maken, laat 1 het probleem logaritmisch gaan oplossen en laat 1 goede testopdrachten maken, waarin allerlei randcondities staan. Als 1 van de 3 klaar is, laat die dan opnieuw naar de problemen kijken, de makkelijkste uitkiezen en die gaan oplossen.

Zorg wel dat je niet 3 problemen tegelijk ga aanpakken, want beter 1 opdracht af dan 3 half af. Probeer ook computergebruik zo efficient mogelijk te doen. Laat iemand bijv. de testopdrachten op papier schrijven, en als de in-/output coder klaar is, dicteer dan de testopdrachten. Zorg ook dat geen van de drie te lang vast loopt en tot niets komt. Ga dan ofwel samen brainstormen, of switch van taken.

Oefen vooral opdrachten met recursie, bekijk naar goede algoritmes om priemgetallen te berekenen, snijpunten te vinden tussen lijnen, dat sooort dingen.

Succes en enjoy :)

  • silentsnow
  • Registratie: Maart 2001
  • Laatst online: 15-04-2013

silentsnow

« '-_-' »

Topicstarter
Je krijgt 2 computers, en een team is inderdaad 3 man. Er zijn 8 opdrachten en je krijgt 5 uur om ze in Ada, C, C++ of Java te schrijven. We hebben zelf al een beetje zitten klooien met de editor (vi :r :r :r ), dat omdat we van een costum NetBSD CD moeten booten waardoor alles natuurlijk anders is dan normaal.

Het intypen van de basis (in/output, headers) doen we eerst, en dat slaan we dan op als read-only. Per opdracht open je dat bestand, dan vul je de ontbrekende code in en sla je het bestand op met de naam van de betreffende opdracht.

We hebben inderdaad ook al bedacht dat één iemand vraag 1 doet, en de ander doet vraag 2. De derde persoon kijkt dat alvast naar de volgende opdrachten en en staat klaar om te helpen met kleine problemen. De vragen staan al in volgorde van moeilijkheid, dus dat maakt het al iets makkelijker. Verder nemen we een aantal voorbeeld programma's mee.

Naja, winnen doen we niet gezien scholen als Columbia, Yale, NYU, Polytech, etc in onze poel zitten :/ Het is een leuke ervaring, dat wel :)

The trade of the tools
[ me | specs ] Klipsch Promedia Ultra 5.1 + Sennheiser HD-590


  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

silentsnow schreef op zondag 14 november 2004 @ 03:04:
We hebben zelf al een beetje zitten klooien met de editor (vi :r :r :r ).
Aangezien je het over 'morgen' hebt, neem ik aan dat je vandaag bedoelt. Dus deze tip is helaas wat laat, maar als je tijd hebt of had. Kijk dan naar het programma 'vimtutor', dat legt de basisdingen en iets meer dan de basis van vi(m) vrij aardig uit. Of dat ook op die netbsd-install beschikbaar zou ik niet weten.
Vim is best een goede editor, zeker de versies met code-highlighting, maar helaas zijn er ook varianten van vi (op Sun Solaris en Slackware bijv) die nauwelijks te gebruiken zijn door allerlei wazige dingetjes (pijltje naar omhoog/beneden in edit-mode stopt de edit-mode, om maar iets te noemen).
Naja, winnen doen we niet gezien scholen als Columbia, Yale, NYU, Polytech, etc in onze poel zitten :/ Het is een leuke ervaring, dat wel :)
Tsk, wat een instelling :P
Je mag er heen, dat betekent al dat je beter dan veel anderen bent of niet dan? ;)


Andere classes die handig zijn, zijn eventueel String en de Regexp-library. En natuurlijk BigDecimal en BigInteger. Wellicht Character, (Sorted)Set, Map, Collections en Comparator.

Owja, en als er echt geen API-doc is (ook niet in de JDK-install-dir), kijk dan nog even of je de java-sources kan vinden. Die heet meestal src.zip en staat op mijn linux-doos in $JDK_HOME/share en op mijn windows-doos in $JDK_HOME/, handig is anders. Maar het is iig beter dan niks :)
Mocht je geen (un)zip op die doos hebben, probeer dan of jar het kan uitpakken.

[ Voor 23% gewijzigd door ACM op 14-11-2004 09:29 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:36
silentsnow schreef op zondag 14 november 2004 @ 03:04:
We hebben zelf al een beetje zitten klooien met de editor (vi :r :r :r )
Hey, niet memmen he. :)
Ik heb gedurende 1,5 jaar vi als editor gebruikt voor m'n werk. :P

https://fgheysels.github.io/