Detalii evaluare #14369767

Rezumat problemă

#1619 Pic

Alex s-a angajat în vacanța de vară ca barman. Pentru că îi place să transforme munca la bar într-un spectacol, uneori aranjează mai multe pahare identice ca formă și dimensiune, dar de capacități diferite, sub forma unei stive.

Un pahar din stivă, cu excepția celor de la bază, se sprijină pe exact două pahare din rândul de mai jos. Paharele sunt numerotate ca în imaginea de mai jos. Nivelurile din stivă sunt de asemenea numerotate, începând cu 1, de la vârf, adică paharul 1 se află pe nivelul 1, paharele 2 și 3 pe nivelul 2, paharele 4, 5 și 6 sunt pe nivelul 3, ș.a.m.d.

Alex toarnă în fiecare secundă câte un mililitru de apă (o picătură) în paharul numărul 1. Paharele au o proprietate ciudată atunci când sunt pline: primul mililitru care ajunge într-un pahar plin se va scurge instantaneu în paharul aflat imediat în stânga sa pe rândul de dedesubt, următorul mililitru se va scurge instantaneu în paharul aflat imediat în dreapta sa pe rândul de dedesubt și tot așa, alternativ câte o picătură în cele două pahare.

De exemplu când paharul 2 este plin, primul mililitru ce va ajunge în el se va scurge în paharul 4, următorul mililitru se scurge în paharul 5, al treilea mililitru se va scurge din nou în paharul 4, ș.a.m.d.

Atunci când într-un pahar plin aflat la baza stivei ajunge un nou mililitru de apă, acesta se scurge instantaneu pe masă.

Cunoscând numărul de pahare din rândul de la baza stivei și faptul că stiva este completă (toate rândurile conțin numărul maxim de pahare ce se pot așeza după regula de mai sus, iar pe cel mai de sus rând se găsește un singur pahar), să se scrie un program care determină:

  1. Care este nivelul minim (cel mai de sus) care are suma capacităților tuturor paharelor de pe nivel maximă?
  2. Care este numărul minim de secunde necesar pentru a umple toate paharele folosind procedeul descris mai sus și câți mililitri de apă se risipesc (se scurg pe masă) în acest caz?

Detalii

Problema Pic Operații I/O pic.in/pic.out
Limita timp 0.5 secunde Limita memorie Total: 4 MB / Stivă 4 MB
Id soluție #14369767 Utilizator Dospra Cristian (cristi_dospra)
Fișier pic.java Dimensiune 1.81 KB
Data încărcării 02 Martie 2019, 13:27 Scor / rezultat Eroare de compilare

Evaluare


Mesaj compilare

/home/ssilviu/grader/work/pic.java:1: error: Syntax error on token "Invalid Character", interface expected
	#include <fstream>
	^
/home/ssilviu/grader/work/pic.java:2: error: Syntax error on token "Invalid Character", { expected
	#include <iostream>
	^
/home/ssilviu/grader/work/pic.java:3: error: Syntax error, insert ";" to complete FieldDeclaration
	using namespace std;
	^^^^^
/home/ssilviu/grader/work/pic.java:5: error: Syntax error on token "Invalid Character", delete this token
	#define NMAX 52
	^
/home/ssilviu/grader/work/pic.java:5: error: Syntax error on token "52", ; expected
	#define NMAX 52
	             ^^
/home/ssilviu/grader/work/pic.java:7: error: Syntax error on token ""pic.in"", delete this token
	ifstream fin("pic.in");
	             ^^^^^^^^
/home/ssilviu/grader/work/pic.java:8: error: Syntax error on token ""pic.out"", delete this token
	ofstream fout("pic.out");
	              ^^^^^^^^^
/home/ssilviu/grader/work/pic.java:10: error: Syntax error on token "NMAX", delete this token
	int capacitate[NMAX][NMAX], continut[NMAX][NMAX];
	               ^^^^
/home/ssilviu/grader/work/pic.java:10: error: Syntax error on token "NMAX", delete this token
	int capacitate[NMAX][NMAX], continut[NMAX][NMAX];
	                     ^^^^
/home/ssilviu/grader/work/pic.java:10: error: Syntax error on token "NMAX", delete this token
	int capacitate[NMAX][NMAX], continut[NMAX][NMAX];
	                                     ^^^^
/home/ssilviu/grader/work/pic.java:10: error: Syntax error on token "NMAX", delete this token
	int capacitate[NMAX][NMAX], continut[NMAX][NMAX];
	                                           ^^^^
/home/ssilviu/grader/work/pic.java:11: error: Syntax error on token "NMAX", delete this token
	bool dir[NMAX][NMAX];
	         ^^^^
/home/ssilviu/grader/work/pic.java:11: error: Syntax error on token "NMAX", delete this token
	bool dir[NMAX][NMAX];
	               ^^^^
/home/ssilviu/grader/work/pic.java:17: error: Syntax error on token ">>", invalid AssignmentOperator
	fin >> cerinta >> n;
	    ^^
/home/ssilviu/grader/work/pic.java:26: error: Syntax error on token ">>", invalid AssignmentOperator
	fin >> capacitate[i][j];
	    ^^
/home/ssilviu/grader/work/pic.java:38: error: Syntax error on token "<<", invalid AssignmentOperator
	fout << bestLine;
	     ^^
/home/ssilviu/grader/work/pic.java:84: error: Syntax error on token "<<", invalid AssignmentOperator
	fout << secunde << " " << risipa;
	     ^^
/home/ssilviu/grader/work/pic.java:87: error: Syntax error, insert "}" to complete InterfaceBody
	}
	^
18 problems (18 errors)

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 Pic 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ă.