Uppgifterna
Inlämningsuppgifter
Börja med att registrera dig på kurssidan i Kattis Links to an external site..
Läs sedan introduktionen till Java här Links to an external site. och/eller här. Links to an external site.Hjälp med att installera och köra java hittar du här Links to an external site.. Instruktioner för att använda Java i Kattis finns här. Links to an external site.
För godkänt på kursen krävs godkänt på uppgift 1 − 6 nedan. För den som vill ha ytterligare utmaning finns även de två extrauppgifterna 7 och 8.
OBS! Inlämningsuppgifterna ska göras individuellt. Man kan diskutera uppgifterna med sina kurskompisar, men det är absolut förbjudet att titta på någon annan students programkod, eller att visa sin kod för någon annan student. Detta kommer att betraktas som fusk! Alla insända bidrag kommer att plagiatkontrolleras. Se även EECSs hederskodex.
Notera också att uppgifterna har en deadline.
Testa gärna Hello World Links to an external site., för att se hur Kattis fungerar.
- Boff.
Läs först om variabler, operatorer, uttryck och grundläggande kontrollstrukturer i Java., och sedan om in- och utmatning i Java, t.ex. här och här. - Sumsort
Arrays har metoder för sortering. Notera att talen i sekvensen kan vara upp till 10^6, inte 10^5 som det står i uppgiften, samt att summan kan bli upp till 10^10. - Ord till tal
Links to an external site.
Läs om klassen String, Links to an external site. och andra verktyg för att hantera text Links to an external site.. - Kommentarer För att läsa in all indata på bästa sätt kan man göra så här. Notera att listan över tillåtna skiljetecken ska vara:
(.,!?%/*’-=)
- Almanackan
Läs först om klasser och objekt t.ex. här . För att lösa uppgiften, definiera en hjälpklassAppointment
som representerar en inbokning. Denna klass bör implementera interfacetComparable<Appointment>
med metodencompareTo
för att smidigt kunna jämföra vilken av två inbokningar som inträffar först. Man kan läsa mer omComparable
här och här, och mer om interface i allmänhet här.
Almanackan bör sedan representeras som en array avAppointment
. KlassenArrays
tillhandahåller ett smidigt sätt att sortera arrayer med hjälp av metodensort
. - Kvadranter.
Ledning: För att dela upp en sträng med tal och punkter kan man använda String Links to an external site..split("\\.").
Notera att en av bilderna i Kattis har fel numrering på kvadranterna, så här ska det se ut: - Fältet
Links to an external site.
(Extrauppgift) -
Fönster Links to an external site.
(extrauppgift)
För den här uppgiften måste man tänka till lite för att få den att bli tillräckligt snabb. Hitta en algoritm som inte behöver behandla alla pixlar som ligger innanför redan behandlade fönster.