Detalii evaluare #64364218

Rezumat problemă

Pietrele preţioase au fascinat omenirea încă din timpuri străvechi iar cele mai renumite dintre ele, cristalele, au devenit atât simbolul durităţii cât şi al eternităţii. În urma unui studiu ştiinţific, pe un eşantion de formă dreptunghiulară se pot observa diferite tipuri de molecule, dispuse într-o geometrie perfectă, pe M rânduri a câte N molecule fiecare, aliniate una lângă alta. O formaţiune cristalizabilă este alcătuită din 3 molecule de acelaşi tip, învecinate două câte două, având una dintre cele patru forme din imaginea alăturată (fig.1).

Fiecare formaţiune este înconjurată de jur-împrejur, ca în fig.2, de un înveliş special format şi el din molecule identice, de alt tip decât cele din formaţiunea cristalizabilă pe care o înconjoară şi o izolează de restul formaţiunilor moleculare. În acest fel, fiecare moleculă din formaţiunea cristalizabilă se învecinează la Nord, Sud, Est şi Vest cu o moleculă din aceeaşi formaţiune cristalizabilă sau cu o moleculă din învelişul special.

Fiecare formaţiune cristalizabilă se bombardează cu raze X şi în acest fel are loc cristalizarea, proces prin care învelişul special se extinde peste formaţiunea cristalizabilă pe care o înconjoară, formând o singură structură din care se va dezvolta cristalul.

Cerințe

  1. Determinaţi numărul formaţiunilor cristalizabile ce pot fi identificate pe eşantionul analizat.
  2. Afişaţi eşantionul rezultat după cristalizare.
ONI 2016, clasa a VII-a
Fișiere Candale Silviu (silviu) Cristina Iordaiche concurs

Detalii

Problema Cristale Operații I/O cristale.in/cristale.out
Limita timp 0.5 secunde Limita memorie Total: 1 MB / Stivă 1 MB
Id soluție #64364218 Utilizator Halitchi Valentin (Valentin_Halitchi)
Fișier cristale.cpp Dimensiune 2.41 KB
Data încărcării 03 Mai 2026, 15:35 Scor/rezultat 100 puncte

Evaluare

Mesaj compilare

cristale.cpp: In function ‘void init()’:
cristale.cpp:14:18: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   14 |     (void)freopen("cristale.in", "r", stdin);
      |           ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
cristale.cpp:15:18: warning: ignoring return value of ‘FILE* freopen(const char*, const char*, FILE*)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   15 |     (void)freopen("cristale.out", "w", stdout);
      |           ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
cristale.cpp:16:16: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   16 |     (void)scanf("%d%d%d", &c, &m, &n);
      |           ~~~~~^~~~~~~~~~~~~~~~~~~~~~
cristale.cpp:19:24: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
   19 |             (void)scanf("%hhu", &a[i][j]);
      |                   ~~~~~^~~~~~~~~~~~~~~~~~

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
0 0.001 secunde OK. 2 2
1 0.001 secunde OK. 2 2
2 0.001 secunde OK. 2 2
3 0.001 secunde OK. 2 2
4 0.007 secunde OK. 2 2
5 0.001 secunde OK. 2 2
6 0.002 secunde OK. 2 2
7 0.023 secunde OK. 2 2
8 0.004 secunde OK. 2 2
9 0.009 secunde OK. 2 2
10 0.001 secunde OK. 5 5
11 0.001 secunde OK. 5 5
12 0.001 secunde OK. 5 5
13 0.001 secunde OK. 5 5
14 0.012 secunde OK. 5 5
15 0.001 secunde OK. 5 5
16 0.001 secunde OK. 5 5
17 0.02 secunde OK. 5 5
18 0.013 secunde OK. 5 5
19 0.014 secunde OK. 5 5
20 0.028 secunde OK. 2 2
21 0.048 secunde OK. 5 5
22 0.055 secunde OK. 2 2
23 0.081 secunde OK. 5 5
24 0.059 secunde OK. 2 2
25 0.098 secunde OK. 5 5
26 0.041 secunde OK. 2 2
27 0.063 secunde OK. 5 5
28 0.015 secunde OK. 2 2
Punctaj total 100

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 Cristale 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!