#1093
Text
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.
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.
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.
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.
OJI 2010, Clasa a X-a
#1035
Blis
Se consideră un şir de biţi şi un număr natural K
. Şirul se împarte în secvenţe astfel încât fiecare bit din şir să aparţină unei singure secvenţe şi fiecare secvenţă să aibă lungimea cel puţin 1
şi cel mult K
. După împărţire, fiecare secvenţă de biţi se converteşte în baza 10
, obţinându-se un şir de valori zecimale. De exemplu, pentru şirul de biţi 1001110111101010011
şi K = 4
, se poate obţine 1 0011 101 111 0 1010 011
, apoi în baza 10
: 1
, 3
, 5
, 7
, 0
, 10
, 3
. O altă împărţire poate fi 1 00 1 1 10 11 110 1010 011
, adică 1
, 0
, 1
, 1
, 2
, 3
, 6
, 10
, 3
.
Scrieţi un program care:
10
) care se poate obţine dintr-o secvenţă de cel mult K
biţiK
biţi astfel încât şirul zecimal obţinut să conţină un subşir strict crescător de lungime maximă posibilă.OJI 2012, clasele XI, XII
#1737
KSiruri
Se consideră un număr natural K
și o secvență de N
șiruri s[1]
, s[2]
, …, s[N]
. Fiecare șir este format din cifre distincte. Pentru două șiruri s[i]
și s[j]
se definește operația de scădere (–
) astfel: s[i]-s[j]
va conține doar șirul de cifre care apar în s[i]
, dar nu apar în s[j]
. De exemplu, dacă s[i]=(1,3,8)
și s[j]=(2,9,3)
, atunci s[i]-s[j]=(1,8)
. Această operație nu este asociativă, (s[i]-s[j])-s[p]
este diferită de s[i]-(s[j]-s[p])
. De aceea, dacă se alege un subșir s[i1]
, s[i2]
, …, s[ip]
din secvență, atunci convenim ca s[i1]-s[i2]-...-s[ip]
să se execute de la dreapta la stânga.
Exemplu: (1,2,3)-(2,3)-(1,3)=(1,2,3)-(2)=(1,3)
. S-au obținut două cifre distincte.
Să se determine numărul subșirurilor nevide s[i1]
, s[i2]
, …, s[ip]
din secvența s[1]
, s[2]
, …, s[N]
asupra cărora, dacă se efectuează operația de scădere (adică s[i1]-s[i2]-...-s[ip]
), se obțin cel puțin K
cifre distincte. Pentru că numărul subșirurilor poate fi foarte mare, atunci el se va calcula modulo 123457
.
Lot Juniori Magurele, 2016
#2561
addchar
Se consideră un set de două șiruri de caractere X
și Y
. Șirul X
este format din caractere din mulțimea {'A'..'Z', 'a' ..'z', '*'}
, iar șirul Y
este format din caractere din mulțimea {'A'..'Z', 'a'..'z'}
. Lungimea șirului Y
este mai mare sau egală cu numărul de caractere *
din X
. Caracterele *
din șirul X
vor fi înlocuite cu caractere din Y
, evident fără a depăși numărul de apariții ale acestora. Fiind date N
seturi de câte două șiruri fiecare, (X
1
, Y
1
), (X
2
, Y
2
), …, (X
N
, Y
N
), să se determine lungimea celui mai lung subșir strict crescător ce se poate forma în X
i
prin înlocuirea caracterelor *
cu caractere din Y
i
, 1 ≤ i ≤ N
.
Balcaniada de Informatică 2018, ziua de antrenament