Informatică, întrebare adresată de Razzvy, 9 ani în urmă

pbinfo #1093

Ion Petre, ca oricare adolescent, este pasionat atât de jocuri, cât şi de informatică. Ultimul astfel de joc este acela de a elimina dintr-un text cuvinte astfel încât fiecare cuvânt rămas să fie urmat de un cuvânt care începe cu aceeaşi literă cu care se termină cuvântul precedent. Face excepţie de la această regulă numai ultimul cuvânt.

CERINTA:
Pentru un text dat, se cere să se afişeze numărul de cuvinte din text, apoi numărul minim de cuvinte ce pot fi eliminate astfel încât în textul rămas orice cuvânt (cu excepţia ultimului) să se termine cu aceeaşi literă cu care începe cuvântul următor, iar în final să se afişeze cuvintele din text rămase după eliminare, fiecare cuvânt fiind afişat pe câte o linie.

DATE DE INTRARE
Fișierul de intrare text.in conține un text scris pe mai multe linii. Pe fiecare linie se află cuvinte formate din litere mici ale alfabetului latin. Cuvintele sunt despărţite între ele prin exact câte un spaţiu.

DATE DE IESIRE
Fișierul de ieșire text.out va conține pe primele doua linii două numerele x şi y, unde x va fi numărul de cuvinte din text, iar y numărul minim de cuvinte ce trebuie eliminate. Pe liniile următoare se vor afişa, în ordine, cuvintele rămase după eliminarea celor y cuvinte, câte un cuvânt pe o linie.

RESTRICTII SI PRECIZARI
Numărul de cuvinte din text este maximum 20000.
Lungimea maximă a unui cuvânt este 20.
Fiecare linie de text din fişierul de intrare are cel mult 200 de caractere.
În fişier pot exista rânduri goale.
Se acordă 10% din punctaj pentru determinarea corectă a numărului de cuvinte din text.
Se acordă 40% din punctaj pentru rezolvarea corectă a primelor două cerinţe.
Pentru rezolvarea corectă a tuturor cerinţelor se acordă tot punctajul.


antonii: pentru o astfel de problema ar trebui sa oferi 2000 de puncte
antonii: sau 1000 de puncte deoarece am citi mai bine cerinta
Razzvy: stiu :))

Răspunsuri la întrebare

Răspuns de ionutg38
6
Am atasat sursa C++. Bafta!
Anexe:

Razzvy: O mica problema: asta nu e C++
Razzvy: Si eu am gasit sursa asta si tocmai de aceea am venit aici, in speranta ca o sa gasesc una in C++
ionutg38: Ai dreptate, ti-am trimis sursa in Pascal. Dar se poate trece in C++. N-ai specificat ca vrei in C++. Pe pbinfo poti trimite solutia si-n Pascal (poti selecta limbajul inainte de a trimite sursa).
ionutg38: Daca nu uit, o sa-ti trec eu sursa in C++, dar acum sunt in criza de timp.
Razzvy: ok
Alte întrebări interesante