Lista de probleme 89

Filtrare

Dificultate

Operații intrare/ieșire


Etichete

Gigel se joacă cu cuvinte (scrise cu litere din alfabetul englez, mari sau mici). El a asociat fiecărei litere din alfabet o valoare număr natural, pe care a numit-o valoarea literei. Apoi a definit valoarea unui cuvânt astfel: se calculează suma S1 a valorilor literelor mici din cuvânt şi suma S2 a valorilor literelor mari din cuvânt. Valoarea cuvântului va fi S1 - S2.

Cunoscându-se valoarea fiecărei litere din alfabet şi o listă de cuvinte, să se determine cuvântul cu valoarea maximă. Dacă există mai multe cuvinte de valoare maximă, se vor determina toate, în ordinea din lista dată.

Gigel învaţă la matematică despre mulţimi. A scris pe foaie o mulţime formată din litere mari şi mici ale alfabetului englez, considerate identice. A separat elementele cu virgule (,) şi a delimitat mulţimea cu acolade. Din păcate, în mulţimea scrisă de Gigel se pot repeta litere, sau pot să apară şi litera mare şi litera mică. Gigel vă roagă să-l ajutaţi să corecteze acea mulţime, adică:

  • să eliminaţi dublurile;
  • să ordonaţi alfabetic elementele;
  • dacă cel puţin jumătate dintre elementele iniţiale sunt litere mari, să transformaţi toate elementele în litere mari; în caz contrar să transformaţi toate elementele în litere mici.

Se dă o expresie cu necunoscutele x y z și coeficienți întregi. Să se reducă termenii asemenea și să se determine termenul din expresia rezultat cu coeficientul maxim.

#859 Rime

Se dă o mulțime cu n cuvinte distincte. Să se împartă în submulțimi de cuvinte cu proprietatea că oricare două cuvinte din aceeași submulțime rimează și oricare două cuvinte care rimează sunt în aceeași submulțime.

Fie un șir de caractere. Prin dublarea șirului înțelege oglindirea sa și concatenarea oglinditului la șirul inițial. De exemplu, prin dublarea șirului arc se obține șirul arccra. Orice șir de caractere se poate obține prin dublarea de un număr de ori (eventual de zero ori) a unui șir de caractere.

Se dă un șir de caractere s. Să se determine numărul maxim de operații de dublare care pot fi aplicate succesiv pentru a obține șirul s.

#2344 dvorak

R. a descoperit de curând tastatura DVORAK și s-a decis că poate scrie mult mai rapid și mai corect cod folosind această tastatură decât folosind tastatura QWERTY. Plictisindu-se, R. a creat, pentru a onora tastatura lui preferată, transformarea dvorak, care se realizează prin înlocuirea fiecărei litere dintr-un șir de caractere cu corespondența acesteia dintr-o permutare dată a alfabetului englez. De exemplu, cuvântul informatica poate să devină, printr-o transformare dvorak, cburpmaycja.

H., profitor din fire, a decis să intre pe calculatorul lui R. și să îi fure sursele valoroase de la problemele “rupere” pe care le-a rezolvat.

Dar R. şi-a securizat calculatorul cu o parolă (constând într-o succesiune de litere mici ale alfabetului englez). Din când în când, R. își modifică o parte din parolă efectuând următoarea operație: alege două poziții în parolă Si (capăt stânga) si Di (capăt dreapta) apoi aplică transformarea dvorak asupra secvenței formată din caracterele situate în parolă pe poziții din intervalul [Si, Di]. Această operație este de tipul 1 și este codificată prin: 1 Si Di.

Acum H. are nevoie de ajutorul vostru ca să afle parola şi să furați împreună toate sursele ca sa fiți primii la statistici pe Varena). Din când în când, el vă va da câte un sir de caractere nevid (SIR) și vă va întreba dacă acest șir se regăsește ca subsecvență în parola lui R. Această operație este de tipul 2 și este codificată prin: 2 SIR

Cunoscându-se permutarea dată, parola lui R. precum și o succesiune de Q operații de tipul 1 sau 2, găsiți răspunsurile la întrebările toate lui H.

#2295 Baza

Mirel a învățat astăzi la școală la ora de matematică despre baze de numerație. De exemplu a învățat cum să transforme un număr dintr-o bază oarecare în baza zece. Pentru acasă a primit următoarea temă:

Pentru un cuvânt dat, se înlocuiește fiecare literă a acestuia cu numărul de litere de dinaintea sa în alfabet, astfel litera a devine 0, litera b devine 1, litera c devine 2 ș.a.m.d. , iar cuvântul dat devine un număr în baza 26.

Să se transforme acest număr în baza zece.

Parolele sunt cele mai utilizate modalități de stabilire a identității unei persoane. În IT este necesară utilizarea unor parole tari, care să nu poată fi ghicite cu ajutorul unor programe specializate.

În continuare, prin parolă tare înțelegem un sir de caractere care respectă următoarele condiții:

  • conține cel puțin 8 caractere
  • conține cel puțin o literă mică
  • conține cel puțin o literă mare
  • conține cel puțin o cifră
  • conține cel puțin un caracter dintre .,?!;:_@#

Se dă n o listă cu n parole. Să se determine câte dintre ele sunt parole tari.

Cele mai multe editoare de text moderne oferă utilizatorilor o serie de opțiuni pentru modificarea textului grupate sub numele Change Case. Aceste opțiuni sunt:

  1. lowercase – toate literele din text sunt transformate în litere mici. Celelalte caractere rămân neschimbate;
  2. UPPERCASE – toate literele din text sunt transformate în litere mari. Celelalte caractere rămân neschimbate;
  3. TitleCase – prima literă a fiecărui cuvânt este transformată în litere mari, celelalte în litere mici;
  4. iNVERTcASE – prima literă a fiecărui cuvânt este transformată în litere mici, celelalte în litere mari;
  5. Sentencecase – prima literă a fiecărei propoziții este transformată în literă mare, celelalte în litere mici.

Se dă un sir de caractere format din litere mari și mici ale alfabetului englez, cifre, spații și semnele de punctuație .,;, în care cuvintele sunt alcătuite din litere sau cifre, iar propozițiile sunt separate prin punct (.), precum și o transformare dintre cele date care trebuie aplicată.

Aplicați asupra șirului dat transformarea precizată și afișați șirul.

Se consideră un text alcătuit din mai multe linii, în care cuvintele sunt separate prin spatii și caractere din setul .,;:-?!. Să se determine cuvintele distincte din text care conţin subşirul ate, fără a face distincţie între litere mari şi mici.