Detalii evaluare #57807284

Rezumat problemă

Golf

#4818


Privit din satelit, Golful Biscayne (Florida) este format din n × m celule pătratice, fiecare celulă fiind umplută fie cu pământ, fie cu apă. Celulele umplute cu pământ sunt grupate în insule: două celule umplute cu pământ fac parte din aceeași insulă dacă și numai dacă se poate ajunge de la una la cealaltă prin deplasare (în sus, jos, stânga sau dreapta) doar pe pământ.

Golful poate fi văzut, astfel, ca o matrice A cu n linii și m coloane (numerotate de la 1), unde A[i][j] = 1 dacă celula de pe linia i și coloana j este umplută cu pământ și A[i][j] = 0 dacă este umplută cu apă.

Spunem că o insulă se află la stânga unei coloane c dacă și numai dacă toate celulele ce intră în alcătuirea insulei sunt strict la stânga coloanei c, adică sunt situate pe coloane strict mai mici decât c. Analog, stabilim dacă o insulă se află la dreapta unei coloane c, respectiv deasupra sau dedesubtul unei linii l. De exemplu, în desenul de mai sus, insulele A, B și C sunt la stânga coloanei 7, insula E este la dreapta coloanei 7, iar insula D nu este nici la stânga, nici la dreapta coloanei 7. De asemenea, insulele A și B sunt deasupra liniei 3, iar insulele C, D și E sunt dedesubtul liniei 4. Mai mult, insulele C, D și E nu sunt nici deasupra, nici dedesubtul liniei 5.

Problema are trei cerințe, cerința de rezolvat fiind dată de T ∈ {1, 2, 3}.

  • T = 1. Determinați numărul de celule din golf ce sunt umplute cu pământ.
  • T = 2. Determinați numărul de insule din golf ce conțin un număr maxim de celule. Dacă nu există nicio insulă, atunci valoarea acestui număr este 0.
  • T = 3. Se dau, în ordine, Q interogări, fiecare fiind descrisă printr-o literă și un număr natural
    nenul p. Determinați valoarea produsului a × b, știind că:
    • Dacă litera este C, atunci a reprezintă numărul de celule din toate insulele ce se află la stânga coloanei p (1 ≤ p ≤ m) și b numărul de celule din toate insulele ce se află la dreapta coloanei p.
    • Dacă litera este L, atunci a reprezintă numărul de celule din toate insulele ce se află deasupra liniei p (1 ≤ p ≤ n) și b numărul de celule din toate insulele ce se află dedesubtul liniei p.

OJI 2025, clasa a 10-a

Fișiere Candale Silviu (silviu) Andrei Onuț concurs

Detalii

Problema Golf Operații I/O golf.in/golf.out
Limita timp 1 secunde Limita memorie Total: 256 MB / Stivă 64 MB
Id soluție #57807284 Utilizator Bajenaru Catalin (BajenaruCatalin)
Fișier golf.cpp Dimensiune 3.94 KB
Data încărcării 18 Aprilie 2025, 13:59 Scor / rezultat Eroare de compilare

Evaluare

Mesaj compilare

golf.cpp:1:2: error: stray '#' in program
 +#include <bits/stdc++.h>

  ^
golf.cpp:1:1: error: expected unqualified-id before '+' token
 +#include <bits/stdc++.h>

 ^
golf.cpp:4:1: error: 'ifstream' does not name a type
 ifstream in("golf.in");

 ^
golf.cpp:5:1: error: 'ofstream' does not name a type
 ofstream out("golf.out");

 ^
golf.cpp: In function 'void dfs(int, int, int&)':
golf.cpp:23:59: error: 'min' was not declared in this scope
     leftBoundary[ctinsula] = min(leftBoundary[ctinsula], j);

                                                           ^
golf.cpp:24:61: error: 'max' was not declared in this scope
     rightBoundary[ctinsula] = max(rightBoundary[ctinsula], j);

                                                             ^
golf.cpp: In function 'int main()':
golf.cpp:42:5: error: 'in' was not declared in this scope
     in >> c >> n >> m;

     ^
golf.cpp:77:9: error: 'out' was not declared in this scope
         out << nrmax;

         ^
golf.cpp:80:9: error: 'out' was not declared in this scope
         out << ct;

         ^
golf.cpp:125:13: error: 'out' was not declared in this scope
             out << (unsigned long long) a * b << endl;

             ^
golf.cpp:125:50: error: 'endl' was not declared in this scope
             out << (unsigned long long) a * b << endl;

                                                  ^
golf.cpp:84:13: warning: unused variable 'max1' [-Wunused-variable]
         int max1 = 0;

             ^
golf.cpp:85:13: warning: unused variable 'nrmax' [-Wunused-variable]
         int nrmax = 0;

             ^

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema Golf face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.

Du-te sus!