Sunteți pe pagina 1din 8

Clasele 10-12

Problema 1. Ulcior.
La sărbătoarea lui Neptun – zeul apelor, a fost lansat un concurs care estimează modalități optime de a
transporta apa dintr-un bazin de apă cu capacitatea C litri în alt bazin de aceiași capacitate, inițial fiind gol.
Participanților li se pun la dispoziție a cîte 2 ulcioare: primul cu capacitatea de 3 litri, iar al doilea cu
capacitatea de 5 litri.
Cerință: Scrieți un program care va determina de cîte ori a fost utilizat ulciorul de 3 litri și ulciorul de 5 litri
pentru a transporta toată apa din primul bazin în al doilea bazin într-un timp minim. De fiecare dată ulciorul
cu care se va transporta apa va fi plin cu apă.
Date de intrare: Fișierul de intrare ulcior.in conține pe prima linie numărul natural C.
Date de ieșire: Fișierul de ieșire ulcior.out conține pe prima linie două numere naturale separate prin spațiu,
care reprezintă respectiv de cîte ori a fost utilizat ulciorul cu capacitatea de 3 litri și de cîte ori a fost utilizat
ulciorul cu capacitatea de 5 litri pentru a transporta repede toată apa din primul bazin în al doilea bazin.
Restricții și precizări:
8≤C≤30000;
Exemplu:
ulcior.in ulcior.out Explicație
13 12 Ulciorul de 3litri a fost utilizat o dată:13=3 litri
Ulciorul de 5 litri a fost utilizat de 2 ori:25=10 litri
Total:10+3=13 litri

Problema 2. Ecuații.
Să considerăm ecuaţii de gradul I, de forma: expresie_1=expresie_2. Expresiile specificate sunt
constituite dintr-o succesiune de operanzi, între care există semnul + sau semnul – (cu semnificaţia de
adunare, respectiv scădere). Fiecare operand este fie un număr natural, fie un număr natural urmat de litera x
(litera x reprezentând necunoscuta), fie doar litera x (ceea ce este echivalent cu 1x).
De exemplu: 2x-5+10x+4=20-x
Observaţi, că în ecuaţii nu apar paranteze şi necunoscuta este întotdeauna desemnată de litera mică x.
Cerinţă: Scrieţi un program care să rezolve ecuaţii de gradul I, în formatul specificat în enunţul problemei.
Date de intrare: Fisierul de intrare ecu.in conţine o ecuaţie.
Date de ieşire: Fişierul de ieşire ecu.out va conține soluţia ecuaţiei - un număr real scris cu 6 zecimale,
dacă ecuația admite soluție unică. În cazul în care ecuaţia admite o infinitate de soluţii, se va scrie mesajul
infinit (cu litere mici). Dacă ecuaţia nu admite soluţii, se va scrie mesajul imposibil (de asemenea cu
litere mici).
Restricţii și precizări:
Lungimea unei ecuaţii nu depăşeşte 255 caractere; ecuaţiile nu conţin spaţii; numerele naturale care intervin în ecuaţii sunt
≤1000.
Exemplu:
ecuatie.in ecuatie.out
2x-4+5x+300=98x 3.252747
x+2=2+x Infinit
3x+5=3x+2 Imposibil

Problema 3. Greerașul Cri.


Furnicuţa şi-a construit un depozit pentru grăunţe pe o suprafaţă de teren
dreptunghiulară şi l-a compartimentat în N*M camere identice, de formă pătratică,
dispuse câte N pe direcţia Ox şi câte M pe direcţia Oy Din fiecare cameră se poate intra
în orice cameră învecinată cu ea (cameră care are un perete comun cu aceasta).
În fiecare cameră, identificată prin coordonatele sale, ca în desenul alăturat în care
N=5 şi M=4, furnica a depozitat o cantitate de grăunţe. De exemplu, în camera de
coordonate (I,J) este depozitată cantitatea CIJ de grăunţe.
Atât intrarea, cât şi ieşirea din depozit se poate face doar prin cele patru camere din
colţurile depozitului, adică cele de coordonate (1,1), (1,M), (N,1) şi (N,M) care
comunică cu exteriorul. Pentru a asigura circulaţia aerului în depozit, furnica a montat
un sistem de ventilaţie în camera de coordonate (X,Y).
Văzând ce multe grăunţe are furnica pentru iarnă, vecinul ei, leneşul greieraş Cri, s-a hotărât să fure din ele. Cri s-a
gândit să intre în depozit prin sistemul de ventilaţie din camera de coordonate (X,Y) şi să iasă prin una din cele 4
camere din colţurile depozitului care comunică cu exteriorul. A studiat planul depozitului şi a împărţit camerele în
patru zone:
 prima zonă, numerotată cu 1, conţine toate camerele de cordonate (I,J) cu 1  I  X şi 1  J  Y, cu ieşirea prin camera de
coordonate (1,1)
 a doua zonă, numerotată cu 2, conţine toate camerele de cordonate (I,J) cu 1  I  X şi Y  J  M, cu ieşirea prin camera de
coordonate (1,M)
 a treia zonă, numerotată cu 3, conţine toate camerele de cordonate (I,J) cu X  I  N şi 1  J  Y, cu ieşirea prin camera de
coordonate (N,1)
 a patra zonă, numerotată cu 4, conţine toate camerele de cordonate (I,J) cu X  I  N şi Y  J  M, cu ieşirea prin camera
de coordonate (N,M)
Cri va intra doar într-una din cele patru zone şi va fura grăunţele doar din camerele conţinute de zona aleasă. Pentru
a nu declanşa alarma furnicuţei, el va trebui să treacă cel mult o dată prin fiecare cameră din zonă, să fure întreaga
cantitate de grăunţe din aceasta şi să iasă din depozit prin camera ce comunică cu exteriorul, corespunzătoare zonei
alese. Cri va trebui să aleagă zona în care va intra astfel încât cantitatea totală T de grăunţe furate să fie maximă, iar
numărul K de camere prin care va trece să fie minim.
Cerinţă: Scrieţi un program care să determine numerele naturale Z, T şi K, unde Z reprezintă numărul zonei pe care
va trebui s-o aleagă Cri astfel încât cantitatea totală T de grăunţe furate să fie maximă, iar numărul K de camere prin va
trece să fie minim.
Date de intrare: Fişierul de intrare cri.in conţine:
N M X Y - pe prima linie cele patru numere naturale nenule N M X Y, separate prin câte un spaţiu,
C11 C12...C1M cu semnificaţia din enunţ
C21 C22...C2M - pe fiecare din următoarele N linii câte M numere naturale nenule, separate prin câte un
........... spaţiu, reprezentând cantitatea de grăunţe CIJ depozitată în camera de coordonate (I,J)
CN1 CN2...CNM
pentru 1  I  N şi 1  J  M.
Date de ieşire: Fişierul de ieşire cri.out va conţine, pe o singură linie, cele trei numere naturale Z, T şi K
determinate de program, separate prin câte un spaţiu, în această ordine.
Restricţii şi precizări:
1≤ N ≤ 500; 3 ≤ M ≤ 500; 2 ≤ X < N; 2 ≤ Y < M; M, N, X , Y - numere naturale; Z{1,2,3,4}; 1 ≤ CIJ  8000 ( 1 ≤ I ≤ N şi 1 ≤ J
≤ M ); CIJ sunt numere naturale ( 1 ≤ I ≤ N şi 1 ≤ J ≤ M ); dacă există zone pentru care se obţine aceeaşi cantitate totală maximă T
de grăunţe şi se trece prin acelaşi număr minim K de camere, se va alege zona numerotată cu numărul cel mai mic.
Exemplu:
cri.in cri.out Explicaţii
5 4 2 3 2 45 3 Camera de pornire are coordonatele (2,3), iar N=5 şi M=4.
1 2 3 33 Zona 1 conţine camerele de coordonate: (1,1), (1,2), (1,3), (2,1), (2,2), (2,3).
5 4 3 9 Cantitatea maximă de grăunţe pe care o poate fura Cri este 18 trecând prin 6 camere.
2 13 4 15 Zona 2 conţine camerele de coordonate: (1,3), (1,4), (2,3), (2,4). Cantitatea maximă de
1 2 3 3 grăunţe pe care o poate fura Cri este 45 trecând prin 3 camere.
1 5 2 6 Zona 3 conţine camerele de coordonate: (2,1), (2,2), (2,3), (3,1), (3,2), (3,3), (4,1),
(4,2), (4,3), (5,1), (5,2), (5,3). Cantitatea maximă de grăunţe pe care o poate fura Cri
este 45 trecând prin 12 camere.
Zona 4 conţine camerele de coordonate: (2,3), (2,4), (3,3), (3,4), (4,3), (4,4), (5,3),
(5,4). Cantitatea maximă de grăunţe pe care o poate fura Cri este 43 trecând prin 7 camere.
Astfel, Cri va intra în zona Z=2, va fura cantitatea maximă de grăunţe T=45 trecând prin
numărul K=3 minim de camere.
Clasele 5-9

Problema 1. Figuri.
Printre toate jucăriile sale, Mihăiță dispune și de figuri geometrice: triunghiuri și pătrate. Mihăiță știe
următoarea informație despre figurile sale:
a) Numărul total de laturi ale tuturor fiigurilot este egal cu L;
b) Diferența dintre triunghiuri și pătrate este egală cu N;
De exepmlu, pentru figurile de mai sus avem L=38 și N=1.

Cerinţă: Scrieți un program care îl va ajuta pe Mihăiță să determine cîte triunghiuri și cîte pătrate are,
dacă știe valorile L și N.
Date de intrare:
De la tastatură se citesc 2 numere întregi L și N, care au respectiv semnificațiile: L-numărul total de laturi ale figurilor și N-
diferența dintre numărul de triunghiuri și numărul de pătrate.
Date de ieşire :
La ecran se vor afișa două numere naturale T și P, separate prin spațiu, care reprezintă respectiv numărul de triunghiuri și numărul
de pătrate printre figurile lui Mihăiță.
Restricţii şi precizări:
-100000≤N<L<100000;problema admite soluții pentru toate testele de evaluare.
Exemplu:
Intrare Ieșire Explicație
38 1 6 5 Printre figuri sunt 6 triunghiuri cu 63=18 laturi și 5 pătrate cu 54=20 laturi. În total
numărul de laturi este cu 18+20=38. Diferența lor: N=6-5=1.

Problema 2. Panglica.
Andrieș are o panglică alcătuită din benzi de 1 cm lăţime, colorate în diverse culori. Panglica are N benzi
colorate cu C culori pe care le vom numerota de la 1 la C. Andrieș vrea ca la ambele capete ale panglicii să
aibă aceeaşi culoare, dar cum nu poate schimba culorile benzilor, singura posibilitate rămâne tăierea unor
bucăţi de la capete.
Cerinţă: Scrieţi un program care să determine modul de tăiere a panglicii astfel încât la cele două capete să
fie benzi de aceeaşi culoare, iar lungimea panglicii obţinute să fie maximă.
Date de intrare:
Fişierul de intrare pang.in conţine:
– pe prima linie numerele naturale N şi C separate printr-un spaţiu;
– pe următoarele N linii descrierea panglicii: pe fiecare linie un număr natural de la 1 la C, reprezentând în ordine culorile
fâşiilor ce alcătuiesc panglica.
Date de ieşire:
Fişierul de ieşire pang.out va conţine următoarele 4 numere:
– pe prima linie numărul de fâşii rămase;
– pe linia a doua numărul culorii care se află la capete;
– pe linia a treia câte fâşii trebuie tăiate de la începutul panglicii iniţiale;
– pe linia a patra câte fâşii trebuie tăiate de la sfârşitul panglicii iniţiale.
Restricţii şi precizări:
2N1000; 1C200; dacă există mai multe soluţii alegeţi pe cea în care se taie cât mai puţin din partea de început a
panglicii.
Exemplul 1 Exemplul 2
pang.in pang.out pang.in pang.out
63 4 52 4
1 2 1 2
2 1 2 1
1 1 1 0
3 2
2 2
3
Problema 3. Litere.
Algorel a primit un joc care conţine n jetoane pe care sunt scrise litere mari ale alfabetului. Fiecare literă are asociat
un cod format dintr-o singură cifră nenulă. Jetoanele se aşează în ordinea dată iniţial, iar prin citirea literelor de pe
acestea, de la primul la ultimul jeton, se formează un cuvânt. Dacă se citesc numerele de pe fiecare jeton, începând de
la primul la ultimul, se obţine un număr k1. Jocul continuă la fel, dar se aşează jetoanele începând de la al doilea la
ultimul, obţinându-se un nou număr k2. Apoi, se aşează jetoanele începând de la al treilea la ultimul, obţinându-se un
nou număr k3, ş.a.m.d. până se ajunge la aşezarea doar a ultimului jeton, caz în care se obţine numărul kn.
Cerinţe:
Scrieţi un program care citeşte numărul n de jetoane, cele n litere asociate jetoanelor, precum şi codurile
asociate literelor, în ordinea apariţiei lor şi afişează:
a) numărul de perechi de litere consecutive din cuvântul iniţial care au proprietatea că o literă este
vocală şi cealaltă este consoană (ordinea lor nu contează);
b) numărul k1, format din aşezarea iniţială a jetoanelor;
c) suma k1+k2+…+kn.
Date de intrare: Fişierul de intrare litere.in va conţine pe prima linie valoarea lui n, reprezentând
numărul de jetoane, pe a doua linie un cuvânt format din n litere mari (de la ’A’ la ’Z’); literele sunt scrise
una după alta, fără să fie separate cu spaţii, astfel încât prima literă este cea aflată pe primul jeton, a doua
literă pe al doilea jeton ş.a.m.d. Pe a treia linie din fişier se află un număr m ce reprezintă numărul de litere
distincte, iar pe a patra linie m valori reprezentând codurile literelor distincte ce apar în cuvânt(eventual,
pentru careva litere diferite poate fi indicat același cod). Codurile sunt date în ordinea apariţiei literelor în
cuvânt şi sunt numere naturale nenule formate dintr-o singură cifră, separate printr-un spaţiu, pentru fiecare
literă codul fiind dat o singură dată, chiar dacă litera se repetă.
Date de ieşire: Fişierul de ieşire litere.out va conţine pe prima linie numărul de perechi de litere
consecutive din cuvânt care au proprietatea că o literă este vocală şi cealaltă consoană (ordinea lor nu
contează), pe a doua linie numărul k1, (format din aşezarea iniţială a jetoanelor), iar pe a treia linie suma k1+k2+
…+kn.
Restricţii şi precizări: 0 < n ≤ 10000, 0 < m < 27
Exemple:
litere.in litere.out Explicație
3 0 Nu există perechi de litere consecutive care să îndeplinească cerinţa.
CSC 121 Sunt 2 litere distincte{’C’,’S’}, cod(’C’)=1, cod(’S’)=2.
2 143 k1 = 121‚ k2 = 21‚ k3 = 1‚ iar k1+k2+k3 = 121 + 21 + 1 = 143
1 2
6 5 Există 5 perechi de litere consecutive care să îndeplinească cerinţa: {’CA’, ’AB’, ’BA’,
CABABE 256567 ’AB’, ’BE’}.
4 320342 Sunt 4 litere distincte{’C’, ’A’, ’B’, ’E’}, cod(’C’)=2, cod(’A’)=5, cod(’B’)=6,
2 5 6 7 cod(’E’)=7.
k1 = 256567‚ k2 = 56567‚ k3 = 6567‚ k4 = 567, k5 = 67, k6 = 7, iar
k1+k2+k3+k4+k5+k6 = 256567 + 56567 + 6567 + 567 + 67 + 7 = 320342
Классы10-12

Задача 1. Кувшин.
На празднике Нептуна - Бога воды, был организован конкурс, который оценивает оптимальные
способы переносить воду из бассейна емкостью C литров в другой бассейн той же ёмкости, который
первоначально является пустым. Участникам предоставляется 2 кувшина: первый емкостью 3 литра,
а второй емкостью 5 литров.
Требования: Напишите программу, которая будет определять, сколько раз использовали кувшин
ёмкостью 3 литра и сколько раз 5-литровый кувшин, чтобы перенести всю воду из первого бассейна
во второй бассейн за минимальное время. Каждый раз кувшин, который используется будет заполнен
водой полностью.

Вход: Текстовый файл ulcior.in содержит в первой строке натуральное число C.


Выход: Текстовый файл ulcior.out, содержит в первой строке 2 натуральных числа, разделенные
пробелом, - соответственно сколько раз использовали 3-литровый кувшин и сколько раз
использовали 5-литровый кувшин чтобы транспортировать всю воду из первого бассёйна во второй
бассёйн.
Ограничения:8≤C≤30000. Пример:
ulcior.in ulcior.out Обьяснение
13 1 2 3-х литровый кувшин был использован 1 раз:13=3 л
5-ти литровый кувшин был использован 2 раза:25=10 л
Итого:10+3=13 л

Задача 2. Уравнения.
Рассмотрим уравнение первой степени, в указанном формате: выражение_1 = выражение_2.
Выражения состоят из последовательности операндов, между которыми может быть знак + или знак -
(то есть сумма или разность, соответственно). Каждый операнд либо натуральное число, либо
натуральное число за которым следует буква х (х представляет неизвестную), или только букву х (что
эквивалентно 1x).
Требование: Напишите программу для решения уравнений первой степени, в указанном в задаче
формате. Заметим, что в уравнениях нет скобок, и неизвестная всегда обозначена через маленькую
букву x.

Вход: Текстовый файл ecu.in содержит одно уравнение.


Выход: Текстовый файл ecu.out будет содержать найденное решение уравнения - вещественное
число с шестью знаками после запятой, если уравнение допускает единственное решение. Если
уравнение допускает бесконечное множество решений, будет записано слово infinit (маленькими
буквами). Если уравнение не имеет решения, будет записано слово imposibil (также маленькими
буквами).
Ограничения: Длина уравнения не превышает 255 символов, уравнения не содержат пробелов, натуральные числа,
которые встречаются в уравнениях ≤1000.
Примеры:
ecuatie.in ecuatie.out
2x-4+5x+300=98x 3.252747
x+2=2+x Infinit
3x+5=3x+2 Imposibil

Задача 3. Стрекоза Cri.


Муравей построил склад для зерна на участке земли прямоугольной
формы и разделил на N * M одинаковых квадратных ячеек, по N в
направлении оси Ох(горизонтально) и по M в направлении оси Oy(по
вертикали). Из каждой комнатки(ячейки) можно заходить в любую
соседнюю комнатку(комнатка, которая имеет общую стенку с ней).
В каждой комнатке, которая определяется её координатами, как и в
прилагаемом чертеже, в котором N = 5 и М = 4, муравей оставил какое-то
количество зерна. Например, в комнатке с координатами (I, J) хранится
количество CIJ зерна.
И вход, и выход из склада могут быть только в четырех угловых комнатках, т.е. в комнатках с
координатами (1,1), (1, M), (N, 1) и (N, M). Для того, чтобы обеспечить циркуляцию воздуха на
складе, муравей установил вентиляционную систему в комнатке с координатами (X, Y).
Узнав, как много зерна имеется у муравья, соседка, ленивая стрекоза Cri, решила украсть для себя
зерна. Cri подумала, что войдет в склад через вентиляционную систему с координатами (X, Y) и
выйдет через одну из четырех угловых комнат. Она изучила план склада и разделила комнатки на
четыре зоны:
 первая зона № 1 содержит все комнатки с координатами (I, J) при 1  I  X и 1  J  Y, с
выходом через комнатку с координатами (1,1)
 вторая зона № 2 содержит все комнатки с координатами (I,J) при 1  I  X и Y  J  M, с
выходом через комнатку с координатами (1,M)
 третья зона № 3 содержит все комнатки с координатами (I,J) при X  I  N и 1  J  Y, с
выходом через комнатку с координатами (N,1)
 четвёртая зона № 4 содержит все комнатки с координатами (I,J) при X  I  N и Y  J  M, с
выходом через комнатку с координатами (N,M)
Cri зайдет только в одну из четырех зон и будет воровать зерно только в комнатках, находящихся в
выбранной зоне. Для того, чтобы не вызвать у муравья подозрения, она должна будет проходить
максимум один раз через каждую комнатку выбранной зоны, украсть весь объем зерна из каждой из
этих комнатках, и выйти из склада через комнатку, которая сообщает с внешним миром
соответственно выбранной зоны. Cri должна выбрать зону так, чтобы общее сворованное количество
зерна T было наибольшим, а число K комнат, через которые она пройдет – наименьшим.
Требование: Написать программу для определения натуральных чисел Z, T и K, где Z - номер зоны,
которую придется выбирать Cri, так чтобы общее количество Т украденного зерна было
максимальным, а число комнат K было минимальным.
Вход: Текстовый файл cri.in содержит:
N M X Y - в первой строке 4 натуральных чисел N M X Y, разделенные через пробел –
C11 C12...C1M согласно условию задачи
C21 C22...C2M - в каждой из следующих N строк – по М натуральных чисел, разделенные
...........
через пробел – количество зерна CIJ, которое хранится в комнатке с
CN1 CN2...CNM
координатами (I,J) для 1  I  N и 1  J  M.
Выход: Текстовый файл cri.out будет содержать в первой строке 3 натуральных числа разделенные
через один пробел– найденные значения Z, T и K.
Ограничения и уточнения:
1≤ N ≤ 500; 3 ≤ M ≤ 500; 2 ≤ X < N; 2 ≤ Y < M; M, N, X , Y – натуральные числа; Z {1,2,3,4}; 1 ≤ CIJ  8000 ( 1 ≤ I ≤ N и 1
≤ J ≤ M ); C IJ – натуральные числа( 1 ≤ I ≤ N и 1 ≤ J ≤ M ); если есть зоны, для которых получается одинаковое
максимальное количество зерна Т и одинаковое минимальное количество комнат К, будет указана зона пронумерованная
наименьшим номером.
Пример:
cri.in сri.out Обьяснение
5423 2 45 3 Вентиляционная система – исходная комнатка имеет координаты (2,3), N=5, M=4.
1 2 3 33 Зона № 1 включает комнатки с координатами: (1,1), (1,2), (1,3), (2,1), (2,2), (2,3).
5439 Максимальное количество зерна, которое может украсть Cri 18 проходя через 6 комнат.
2 13 4 15 Зона № 2 содержит комнатки с координатами (1,3), (1,4), (2,3), (2,4). Максимальное
1233 количество зерна, которое может украсть Cri 45, проходя через 3 комнатки.
1526 Зона № 3 содержит комнатки с координатами (2,1), (2,2), (2,3), (3,1), (3,2), (3,3), (4,1),
( 4,2), (4,3), (5,1), (5,2), (5,3). Максимальное количество зерна, которое может украсть Cri
45, проходя через 12 комнат.
Зона № 4 содержит комнатки с координатами (2,3), (2,4), (3,3), (3,4), (4,3), (4,4), (5,3),
( 5,4). Максимальное количество зерна, которое может украсть Cri 43 проходя через 7
комнат.
Таким образом, Cri будет входить в зону Z = 2, максимальное количество зерна которое
будет воровать T = 45, проходя через минимальное количество номеров. K = 3
Классы5-9

Задача 1. Фигуры.
Среди всех игрушек Михэицэ имеются и геометрические фигуры - треугольники и
квадраты. Михэицэ знает следующую информацию о своих фигурах:
а) общее количество сторон всех геометрических фигур равняется L;
б) Разность между количеством треугольников и квадратов равно N;
Например на приведенные ниже рисунки мы имеем L = 38 и N = 1.

Требование: Напишите программу, которая поможет Михэицэ определить сколько треугольников и


сколько квадратов имеется, если он знает значения L и N.
Вход: С клавиатуры вводятся два целых числа L и N которые имеют значения, соответственно: L -
общее количество сторон фигур, а N - разница между количеством треугольников и квадратов..
Выход:На экран выводятся два целых числа Т и Р, разделенные пробелом, представляющих
соответственно количество треугольников и количество квадратов среди игрушек Михэицэ.
Ограничения и уточнения:
-100000≤N<L<100000; задача имеет решение для всех тестов
Пример:
Вход Выход Обьяснение
38 1 65 Среди фигур имеется 6 треугольников с 63=18 сторон и 5 квадратов с 54=20
сторон. Всего количество сторон будет 18+20=38. Разность будет N=6-5=1.

Задача 2. Лента
Андриеш имеет ленту, изготовленную из полосок шириной 1 см, окрашенных в разные цвета. Лента
имеет N полос, окрашенных с помощью C цветов, они будут пронумерованы от 1 до С. Андриеш
хочет чтобы оба конца ленты имели одинаковый цвет, но так как он не может изменить цвет полос,
единственный выход остается резать сколько-то полос от концов.
Требование: Написать программу для определения способа резания ленты на двух концах так,
чтобы на концах были полосы того же цвета, а полученная длина ленты должна быть максимально
возможной.
Вход: Входной текстовый файл pang.in содержит:
– В первой строчке натуральные числа N и C разделенные через один пробел;
– Следующие N строк содержат описание ленты: в каждой строчке содержится одно натуральное
число от 1 до C - цвет полосок ленты.
Выход: Выходной текстовый файл pang.out будет содержать 4 числа:
- в первой строке – количество оставшихся полосок
- во второй строке – номер цвета полосок начала и конца ленты
- в третьей строке – количество полосок, которых надо обрезать в начале ленты
- в четвертой строке – количество полосок, которых надо обрезать в конце ленты
Ограничения и уточнения:
2N1000; 1C200; если существует несколько решений, выбрать то, при котором надо вырезать как можно меньше в
начале ленты.
Пример 1 Пример 2
pang.in pang.out pang.in pang.out
63 4 52 4
1 2 1 2
2 1 2 1
1 1 1 0
3 2
2 2
3
Задача 3. Буквы
Алгорел получил игру, содержащую жетоны, на которых написаны большие буквы
алфавита. Каждой букве присваивается код из одной ненулевой цифры. Жетоны расположены в
заданном порядке первоначально, и читая буквы с них, от первого до последнего жетона, получается
слово. Если прочитать номера на каждом жетоне, от первого до последнего, получается число
k1. Игра продолжается также и дальше, но жетоны размещаются начиная от второго до последнего, и
получается новое число k2. Затем размещаются жетоны от третьего до последнего, получая новое
число k3 и т.д., пока получается размещать только последний жетон, в этом случае получается число
kn.
Требования: Напишите программу, которая считывает число жетонов n, считывает n букв
присвоенных жетонам и связанные с ними коды букв в порядке их появления и выводит:
а) количество пар букв подряд идущих в исходном слове со свойством, что одна буква гласная, а
другая - согласная (их порядок не имеет значения);
б) число k1, состоящий из первичного размещения жетонов;
в) сумма k1+k2+…+kn.
Вход: Текстовый файл litere.in содержит в первой строке число n – количество жетонов, во второй
строке – слово состоящее из n больших латинских букв (от ’A’ до ’Z’); буквы записываются одна за
другой, без пробелов, так что первая буква – та что написана на первом жетоне, вторая – на втором
жетоне и т.д. На третьей строке содержится число m, представляющее количество различных букв, а
на четвертой строке - m значений, представляющих коды различных букв, которые появляются в
слове(может быть, что разным буквам присвоен одинаковые коды). Коды приведены в порядке их
появления в слове и представляют собой целые числа состоящие из одной цифры, разделенных
пробелом, для каждой буквы код дается только один раз, даже если буква повторяется.
Выход: Выходной файл litere.out будет содержать в первой строке количество пар последовательных
букв в слове имеющие свойство, что одна буква является согласной и одна гласной (их порядок не
имеет значения), во второй строке число k1 (образовано от первоначального размещения жетонов), а
третья строка - сумма k1+k2+…+kn.
Ограничения и уточнения:
0 < n ≤ 10000; 0 < m < 27
Примеры:
litere.in litere.out Обьяснение
3 0 Не существует пар подряд идущих букв с указанным в задаче свойством.
CSC 121 Есть 2 различные буквы{’C’,’S’}, cod(’C’)=1, cod(’S’)=2.
2 143 k1 = 121‚ k2 = 21‚ k3 = 1‚ k1+k2+k3 = 121 + 21 + 1 = 143
1 2
6 5 Существует 5 пар подряд идущих букв с указанным в задаче свойством {’CA’, ’AB’,
CABABE 256567 ’BA’, ’AB’, ’BE’}.
4 320342 Есть 4 различных букв{’C’, ’A’, ’B’, ’E’}, cod(’C’)=2, cod(’A’)=5, cod(’B’)=6,
2 5 6 7 cod(’E’)=7.
k1 = 256567‚ k2 = 56567‚ k3 = 6567‚ k4 = 567, k5 = 67, k6 = 7,
k1+k2+k3+k4+k5+k6 = 256567 + 56567 + 6567 + 567 + 67 + 7 = 320342

S-ar putea să vă placă și