Detalii evaluare #64364257

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 #64364257 Utilizator Halitchi Valentin (Valentin_Halitchi)
Fișier cristale.c Dimensiune 2.42 KB
Data încărcării 03 Mai 2026, 15:40 Scor/rezultat 100 puncte

Evaluare

Mesaj compilare

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

Rezultat evaluare

Test Timp Mesaj evaluare Scor posibil Scor obținut
0 0.002 secunde OK. 2 2
1 0.001 secunde OK. 2 2
2 0.001 secunde OK. 2 2
3 0 secunde OK. 2 2
4 0.007 secunde OK. 2 2
5 0.001 secunde OK. 2 2
6 0.001 secunde OK. 2 2
7 0.011 secunde OK. 2 2
8 0.009 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 secunde OK. 5 5
16 0.001 secunde OK. 5 5
17 0.019 secunde OK. 5 5
18 0.007 secunde OK. 5 5
19 0.014 secunde OK. 5 5
20 0.027 secunde OK. 2 2
21 0.046 secunde OK. 5 5
22 0.047 secunde OK. 2 2
23 0.079 secunde OK. 5 5
24 0.05 secunde OK. 2 2
25 0.084 secunde OK. 5 5
26 0.039 secunde OK. 2 2
27 0.061 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!