CSES - Datatähti 2019 alku - Ohjeet

Tehtävissä A–D sinun tulee laatia ohjelma, joka ratkaisee annetun ongelman, ja palauttaa ohjelman koodi. Tehtävässä E sinun tulee palauttaa tekstitiedosto, jonka voit luoda haluamallasi tavalla.

Kun palautat tehtävän ratkaisun, se arvostellaan automaattisesti ja näet sen jälkeen saamasi pistemäärän. Voit lähettää ratkaisun miten monta kertaa tahansa, ja paras pistemäärä jää voimaan.

Tehtävissä A–D näet arvostelun jälkeen jokaisen testin tuloksen, joka on yksi seuraavista:

  • ACCEPTED: ohjelmasi tuotti oikein vastauksen
  • WRONG ANSWER: ohjelmasi tuotti väärän vastauksen
  • TIME LIMIT EXCEEDED: ohjelmasi vei liikaa aikaa
  • RUNTIME ERROR: ohjelman suorituksessa tapahtui virhe
  • OUTPUT LIMIT EXCEEDED: ohjelmasi tulosti liikaa tekstiä

Tehtävät on jaettu osatehtäviin, ja saat pisteet osatehtävästä, jos ohjelmasi ratkaisee oikein jokaisen siihen kuuluvan testin.

Voit käyttää tehtävissä A–D ohjelmointikieliä Assembly, C++, Haskell, Java, Python2, Python3 ja Ruby. Tehtävässä E voit käyttää mitä tahansa työkaluja.

Esimerkkejä

Tehtävissä A–D ohjelman tulee lukea tietoa käyttäjältä ja tulostaa vastaus näytölle (eli käyttää standardivirtoja).

Tarkastellaan esimerkkinä tehtävää, jossa ohjelman tulee lukea kaksi kokonaislukua ja tulostaa niiden summa. Voimme ratkaista tehtävän seuraavasti eri kielillä:

// C++
#include <iostream>

using namespace std;

int main() {
    int a, b;
    cin >> a >> b;
    cout << a+b << "\n";
}
// Java
import java.util.*;
public class Summa {
    public static void main(String[] args) {
        Scanner input = new Scanner(System.in);
        int a = input.nextInt();
        int b = input.nextInt();
        System.out.println(a+b);
    }
}
# Python2
a = int(raw_input())
b = int(raw_input())
print a+b
# Python3
a = int(input())
b = int(input())
print(a+b)

Teknistä tietoa

Ohjelmat suoritetaan 64-bittisessä Linux-ympäristössä. Kooditiedoston suurin sallittu koko on 128 kilotavua.

  • Assembly-kääntäjä on NASM 2.13.02.
  • C++-kääntäjä on g++ 7.3.0, ja sille annetaan liput -std=c++11 -O2 -Wall.
  • Haskell-kääntäjä on GHC 8.0.2, ja sille annetaan liput -O2 -Wall.
  • Java-kääntäjän versio on 10.0.1.
  • Python-tulkkien versiot ovat 2.7.15 ja 3.6.5.
  • Ruby-tulkin versio on 2.5.1.

Kysymykset

Jos haluat kysyä jotain kilpailun aikana, voit lähettää viestin CSES:ssä tai sähköpostitse osoitteeseen info@datatahti.fi.