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

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


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

La ultima expediţie pe Marte a fost descoperit un compus organic necunoscut. Acest compus este acum studiat în laboratoarele NASA. Cercetătorii au descoperit că acest compus este constituit numai din atomi de hidrigen (H), ixigen (I) şi carbin (C) şi are masa moleculară M.
Se ştie că regulile de formare a compuşilor organici pe Marte sunt următoarele:
– un atom de carbin se poate lega de oricare dintre atomii de C, H şi I cu oricâte dintre cele 4 legături pe care le are (astfel, în combinaţia H–C=C primul atom de carbin se leagă prin două legături de alt atom de carbin şi cu o legătură de alt atom de hidrigen)
– un atom de hidrigen se poate lega numai de un atom de carbin cu singura legătură pe care o posedă
– un atom de ixigen se poate lega numai de atomi de carbin cu cele două legături pe care le posedă
– un compus este un ansamblu cu proprietatea că toţi atomii de carbin sunt legaţi conex între ei şi nu există vreun atom cu una sau mai multe legături libere (nelegate de un alt atom).
Combinaţia H–C=C nu este un compus deoarece atomii de carbin mai au legături libere.
Cercetătorii au în vedere studiul categoriilor de compuşi, făcând distincţie între doi compuşi numai dacă aceştia diferă prin numărul de atomi de carbin, de ixigen sau de hidrigen.

Cerinţă

Scrieţi un program care să determine câţi compuşi distincţi formaţi din atomi de carbin, hidrigen şi ixigen (cel puţin unul din fiecare) şi care au masa moleculară M există.
De exemplu, există un singur compus cu masa moleculară 10: cel format cu un atom de C, doi atomi de H si un atom de I (5+2*1+3=10), compus ale cărui legături pot fi reprezentate astfel:


Date de intrare

Fişierul de intrare compus1.in conţine pe prima linie masa moleculară a compusului.

Date de ieşire

Fişierul de ieşire compus1.out conţine o singură linie pe care se află numărul de compuşi determinat.

Restricţii

30<=M<=1000000
Masa atomului de H este 1, masa atomului de C este 5, iar masa atomului de I este 3. Masa moleculară a unui compus este egală cu suma maselor atomilor din care este constituit compusul respectiv.
Ordinea în care sunt “utilizate” legăturile unui atom nu contează. De asemenea, nici ordinea atomilor sau legăturile interne dintre ei nu contează atâta timp cât respectă regulile de formare enunţate.

Exemple

compus1.incompus1.outExplicaţii
40 3 Se pot obţine 3 compuşi cu masa moleculară 40: (5C, 6H, 3I), (6C, 4H, 2I), (7C, 2H, 1I):



Reprezentarea cu legături a oricăruia dintre compuşi nu este unică. Orice altă combinaţie corespunzătoare aceluiaşi triplet nu se consideră un compus distinct.
125 28

autor: Prof. Emanuela Cerchez
propunător: Prof. Marinel Şerban
Liceul de Informatica
marinel.serban@gmail.com
Articole recomandate
Probleme recomandate
De la OJI 2003: submult, text1, taxe1, spirala1, pinochio, visul, gardul, paranteze, sirul, tort
De acelaşi autor: celule, scp, vedete, film, ab, supertri, inginer, camp, sl, detinut, simetric, egal, gropi, ruleta, carti, tgv, uscat, afise, dezbateri, bunici, rv, onu, nspecial, secvop, cadou, chimie, reteta, piticot, petrol, checkin, teanc, index, teren, pizza, ecran, drum, text, lbd, aven, spam, pluricex, tren2, gray, pasi, mgo, joc, anagrame, vecini, criptmat, maxim, cutie, party, friends, net, sablon, hd, pc, sir2, aztec, scara, nr, robot2, sah, formule, ed, bilete, hanoig, flood, matrice3, erdos, grup, cd, kfactor, np, cuc, radio, honest, ref, nr01, scor2, convert, auto2, compress, politics, pm, playlist, barbie, firma1, submatrix, ham, pizza1, exam, ants, teatru1, cifre1, bile1, caini, secvreg, pasune, remi, m01, sir23, tren1, joc5, pachete, aedaro, windows, renju, latime, mere1, piloti, peste, pitici, sirag1, stive, turn1, carti1, program1, spioni, kgb, lift, apel, lex, oras, homeless, subsir, dist, harta1, adevar, joc10, bare, zapezi, masina2, perechi1, raft, joc11, joc12, ferma, fni, tunel, lover, pepsi, transport, avion, monkey, premii1, garaj, carti2, tv, pact, fat, cafea, echipe1, secvente, petrom, peg, scara1, lant, ecuatii, stiva, bile4, jungla, rj, poli, text1, rez, politie, anag, codul, coment, muzeu, seti, basm, timer, secvsir, dp, placa, prod3, bursa, submdisj, sotron1, fazan, secvpar, joker, lego, medalii, cfr, antipatie, figura, links, segm, colorare, brazi, mobil, distsir, guess, greiere, pestera, conferinta, chei, ny, nx, ghinion, sumb, drenaj, telecomanda, grupuri, mahjong, rotund, viena, sport2, cos, monoton, micro, valet, nr0, maxviz, anagramabil, nrpal, lista, dame, consiliu, adprod, arme, deal, prodnr, compar, latin, interviu, vintage, prize, nrdiv, arrows, tdrept, agenda, reziston, vot2, tema, smiley, relatii, ech, scadere, nebuni, castig, expand, wb, prime2, virgule, b210
Despre formula: marcare, sume1, patrat, pinochio, gardul, tort, capete, sume2, matrx, control1, pesti, reducere, fibgcd, bradut2, piramide, roua
Software recomandat
surse trimise | ajutor