.campion
conectare | înregistrare | căutare
Pagina principală » Probleme » aritm

ultima problemă
grupă: mică
sursă: OMI 2016
ultimul articol
autor: Prof. Radu Vişinescu
ultimul software
autor: Prof. Emanuela Cerchez
 .campion
aritm


Timp maxim de execuţie/test:
0.1 secunde
Memorie totală disponibilă/stivă:
16MB/1 MB

Într-o carte de matematică recreativă am găsit următoarea problemă de adunare:

(0)

Se cere să se înlocuiască literele cu cifre, astfel încât adunarea să fie corectă şi din punct de vedere matematic. Literele identice reprezintă întotdeauna cifre identice, iar litere distincte reprezintă cifre distincte. Niciun număr nu începe cu cifra 0.

Problema am studiat-o pe hârtie, şi foarte uşor am descoperit, că N=0, E=5, O=9 şi I=1, iar studiind mai amânunţit problema am dedus valoarea tuturor literelor, astfel am obţinut singura soluţie corectă: 29786+850+850=31486.

Într-o altă carte am găsit problema următoare, cu cerinţă asemănătoare:

(1)

De data asta s-a precizat, că soluţia nu este unică. Două soluţii sunt distincte, dacă există cel puţin o literă căreia i s-au atribuit valori distincte în cele două soluţii. De exemplu pentru problema (1) soluţiile 101+456+ 8736=9293 şi 101+756+8436=9293 sunt distincte, chiar dacă majoritatea literelor au valori identice în cele două soluţii.

Am observat, că nu am cum să deduc toate soluţiile, pentru a afla toate soluţiile, am nevoie de un calculator personal. Aşa că m-am pus pe treabă şi am scris un program care să găsească toate soluţiile problemei.

Apoi am început să inventez alte probleme cât mai ingenioase şi am observat că numărul de soluţii variază de la o problemă la alta:

(2) (3) (4) (5) (6) (7) (8) (9) (10)

Cerinţă

Scrieţi un program care să determine numărul soluţiilor distincte pentru oricare problemă enunţată mai sus.

Date de intrare

Fişierul de intrare aritm.in conţine pe prima linie numărul natural n. Pe următoarele n linii avem câte un cuvânt scris cu litere mari din alfabetul englezesc. Ultimul cuvânt dintre acestea reprezintă suma primelor n-1 cuvinte (numere).

Date de ieşire

Fişierul de ieşire aritm.out va conţine un singur număr pe prima linie, ce reprezintă numărul soluţiilor distincte.

Restricţii

  • Fişierele de test vor conţine problemele de mai sus, ordinea cuvintelor putând fi schimbată, exceptând ultimul cuvânt ce reprezintă suma celorlaltor cuvinte şi întotdeauna este ultimul cuvânt.
  • Niciun număr nu începe cu cifra 0.
  • Pentru niciun fişier test numărul soluţiilor nu depăşeşte 32000.

Exemplu

aritm.in aritm.out

4
FORTY
TEN
TEN
SIXTY

1
prof. Szabo Zoltan
Gr. Şc. "Petru Maior" Reghin
szabozoliposta@yahoo.com
 
propunător: Prof. Emanuela Cerchez
emanuela.cerchez@gmail.com
Articole recomandate
Probleme recomandate
De la .campion 2010: greiere, divizori, kdist, pestera, partitie, sokoban, pitag, porumb, cheie, conferinta, chei, stelar, atelier, secv9, ny, radical, arbgraf, select, divk, bileprime, nx, reuniune, cazare, proiect, taler, atletism, echipa, ghinion, oldest, war, aliniere, sumb, cavaleri, joct, fluviu, camera616, stele, covor, subm, mess, secvnumber, cladire, ssmax, parcela, pion, subs, universitate, el, mahjong, rotund, sirmax, bdotcom, pack
De acelaşi autor: balanta, bonuri, cub, magic, magic2, munte, euclid, banda, biliard, fractie1, fotbal, arctir, orientare, rege, fibo1, piatra, war, ssmax, sirmax, ikebana, punctfix, domino2, lant1, parc1, cubulete, biperm, triunghi6, stiva1
Despre structura repetitiva: cifre1, super, schimb, jeton, descfib, taxe, romane, mobile, cuburi3, tzigla, morse, powerpuff, multimi, ucif, tabel, ocr, numere7, cifre2, piramida, vraji, reforma, cartonas, cabina, case, desen2, exponent, cifre3, concurs3, joc13, reactivi, vanatoare, submult, paranteze, tort, copaci1, ogorul, puncte3, efort, muzeu, smith, biliard, palc, prod3, fazanr, cadouri, bursa, meteo, prodmax, zar, tren4, lego, maraton1, cluburi, domino1, jump, alo, cifra1, case1, brazi, greiere, divizori, pitag, porumb, secv9, divk, rachete, pin, sumacifre, psp, triplu, triunghi3, cmmdcsecv, ssmax, ape, furnici1, domino2, acoperire1, ore, pegals, b2k, sumdivprod, subsecvmax, dale, bancomat, sume4, alice, porumb1, albine2, culegere, stele1, medalion, cifreco, meteo1, unupatru, xyz, vistiernic, chibrituri, bete1, greieri, interviu, prieten, prize, conturi, numere12, martisoare, piramide, pagini, punctul, tablita, pavare1, ordine, covor1, speciale, echer, numere13
surse trimise | ajutor