Atenție! Aceasta este o versiune veche a paginii., scrisă la 2013-11-20 07:59:03.000.
Revizia anterioară   Revizia următoare  

Fișierul intrare/ieșire alarma.in, alarma.out Sursă ONI 2009 clasa a 6-a
Autor Dana Lica Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 0.05 sec Limită de memorie 2048 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip halfstea de rating de tip emptystea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Alarma (clasa a 6-a)

Părinții lui Gigel i-au făcut cadou de ziua lui un mobil mai ciudat. Fericit, Gigel vrea să nu întârzie mâine la prima oră de la școală ca să le arate cât mai repede mobilul colegilor. El are însă probleme cu trezitul de dimineață. Din fericire, mobilul are și alarmă. Pentru a seta momentul de timp la care se declanșează alarma, datele trebuie introduse în formatul ′′ora și minutul′′ HHMM (exact 4 cifre). Primele 2 cifre reprezintă ora, iar ultimele două cifre exprimă minutele. Gigel a observat că dacă introduce ora 74, pe ecran este afișată ora 02, adică restul împărțirii la 24. În mod asemănător, dacă tastează minutul 84 pe ecran, se va afișa minutul 24 (restul împărțirii la 60). Dacă Gigel vrea să se trezească la 0826 (ora 8 și 26 de minute), el poate tasta 0826 sau 5686.

Dispunerea celor 10 taste corespunzătoare cifrelor 0,1,…,9 este una specială, în sensul că pe mobil există și multe alte taste, iar cifrele au o dispunere aleatoare. De exemplu, dacă tastele mobilului lui Gigel sunt dispuse pe 5 linii și 6 coloane, numerotate de la 1 la 5 și respectiv de la 1 la 6, atunci el ar putea avea dispuse tastele numerice ca în figura alăturată.

Pentru a seta alarma, Gigel vrea să consume cât mai puține calorii. Numărul de calorii consumate ca să deplaseze degetul de la tasta A, situată pe linia xA și coloana yA, la tasta B, situată pe linia xB și coloana yB, se calculează după formula:

Calorii(A,B) = |xA – xB| + |yA – yB|

Dacă tastele sunt dispuse ca în figura de mai sus și considerând că tasta 1 se afla pe linia 1 și coloana 1, pentru a tasta 5686, Gigel consuma 11 calorii, astfel:

Calorii(5,6) + Calorii(6,8) + Calorii(8,6) = (|5-2|+|1-3|) + (|2-1|+|3-5|) + (|1-2|+|5-3|) = =(3+2) + (1+2) + (1+2) = 11

Cerință

Fiind date coordonatele tastelor corespunzătoare cifrelor de la 0 la 9 și momentul de timp la care vrea să se trezească Gigel, scrieți un program care determină cele 4 cifre care trebuie tastate, astfel încât numărul de calorii consumate să fie minim. Dacă există mai multe soluții, atunci se va afișa cea pentru care numărul tastat este minim.

Date de intrare

Fișierul de intrare alarma.in ...

Date de ieșire

În fișierul de ieșire alarma.out ...

Restricții

  • ... ≤ ... ≤ ...

Exemplu

alarma.in alarma.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicație

...

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 5 categorii