www.agora.ro

Runda 3

CR3P1 Blocaje

În AgoraLand există n orașe legate între ele prin m străzi cu două sensuri de circulație. Să se determine un număr minim de străzi care trebuie blocate pentru ca să existe cel puțin o pereche de orașe (A,B) în AgoraLand astfel încât plecând din orașul A să nu existe nici o posibilitate de a ajunge în orașul B. Orașele din AgoraLand sunt identificate prin numere întregi cuprinse între 1 și n și nu pot exista mai multe străzi între două orașe.

Date de intrare

Fișierul BLOCAJ.IN conține pe prima linie numerele m și n separate printr-un singur spațiu și pe următoarele m linii câte o pereche de numere întregi x și y cu semnificația: "Există o stradă care leagă orașele x și y".

Date de ieșire

Fișierul BLOCAJ.OUT trebuie să conțină pe prima linie numărul nr al străzilor care trebuie blocate și pe următoarele nr linii câte o pereche de numere x și y cu semnificația: "Strada care leagă orașele x și y trebuie blocată".

Exemplu

BLOCAJ.IN BLOCAJ.OUT

8 14 2

1 2 2 5

1 3 3 8

1 4

2 3

2 4

2 5

3 4

3 8

5 6

5 7

5 8

6 7

6 8

7 8

Timp de execuție: 1 secundă/test

CR3P2 Numere prime

Dându-se o mulțime de numere întregi care au cel mult 1000 de cifre să se determine care dintre acestea sunt prime și care nu.

Numere (cel mult 10) se află în fișierul PRIME.IN (câte unul pe o linie), iar răspunsurile (DA sau NU) se vor afla în fișierul PRIME.OUT (câte un răspuns pe o linie). În cazul în care unul dintre răspunsuri este incorect nu se va nici un punct pentru testul respectiv.

Exemplu

PRIME.IN PRIME.OUT

1 NU

2 DA

3 DA

4 NU

5 DA

6 NU

7 DA

8 NU

9 NU

10 NU

Timp de execuție: 10 secunde/test

CR3P3 Joc

Se dă o tablă dreptunghiulară de dimensiuni mŽn. Jocul constă în așezarea în căsuțele tablei a unor numere între 0 și 8 astfel încât valoarea elementelor unei căsuțe să fie egală cu numărul vecinilor care au valori impare. Numărul 0 este considerat JOKER, adică poate fi așezat într-o căsuță chiar dacă numărul vecinilor impari nu este 0.

Punctajul unei table este dat de suma valorilor din căsuțele sale, din care se scade 10% pentru fiecare JOKER folosit. (Dacă veți folosi 2 JOKERS scăderea nu va fi cu 20%, ci cu 19%, adică se va scădea "10% din ce a rămas"). De exemplu, dacă o tablă are suma elementelor 1000 și folosește 3 JOKERS atunci se va scădea 10%=100 puncte, din cele 900 de puncte rămase se vor scădea 10%=90 puncte, iar din cele 810 puncte rămase se vor mai scădea 10%=81 puncte, punctajul tablei devenind 729 puncte. Să se determine o tablă având cel mai mare punctaj posibil.

Date de intrare

Fișierul JOC.IN va conține numerele m și n separate printr-un singur spațiu (1Łm,nŁ500).

Date de ieșire

Fișierul JOC.OUT va conține m linii pe fiecare aflându-se câte n numere separate printr-un singur spațiu; aceste numere vor reprezenta valorile atașate căsuțelor de pe tablă

Exemplu

JOC.IN JOC.OUT

3 3 3 5 3

3 5 3

2 0 2

Punctajul tablei este 23.4 puncte

Timp de execuție: 1 secundă/test

Se acordă punctaje parțiale

[cuprins]