<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.universitas.ro/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hotico+Iulia+Denisa</id>
	<title>Bitnami MediaWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.universitas.ro/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Hotico+Iulia+Denisa"/>
	<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/wiki/Special:Contributions/Hotico_Iulia_Denisa"/>
	<updated>2026-06-17T07:09:01Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=S:E15.316&amp;diff=10354</id>
		<title>S:E15.316</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=S:E15.316&amp;diff=10354"/>
		<updated>2024-12-03T13:58:34Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;S:E15316 (Cristina Vijdeluc și Mihai Vijdeluc)&amp;#039;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;Determinați numărul prim &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; și numărul natural &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt; astfel încât&amp;#039;&amp;#039;  &amp;#039;&amp;#039;&amp;lt;math display=&amp;quot;block&amp;quot;&amp;gt;p^{2} + 5^{p} + 31 = 3181^{q}&amp;lt;/math&amp;gt;.&amp;#039;&amp;#039;  &amp;#039;&amp;#039;&amp;#039;Soluție:&amp;#039;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;Putem scrie &amp;lt;math&amp;gt;p^{2} + 5^{p} = 3181^{q} - 31&amp;lt;/math&amp;gt;. Cum ultima cifră a lui &amp;lt;math&amp;gt;3181^{q} - 31&amp;lt;/math&amp;gt; este &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt; și &amp;lt;math&amp;gt;5^{p}&amp;lt;/math&amp;gt; este divizibil cu &amp;lt;math&amp;gt;5&amp;lt;/math&amp;gt;, deducem că &amp;lt;math&amp;gt;p=5&amp;lt;/math&amp;gt;. Atunci relația devine &amp;lt;...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;S:E15316 (Cristina Vijdeluc și Mihai Vijdeluc)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Determinați numărul prim &amp;lt;math&amp;gt;p&amp;lt;/math&amp;gt; și numărul natural &amp;lt;math&amp;gt;q&amp;lt;/math&amp;gt; astfel încât&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&amp;lt;math display=&amp;quot;block&amp;quot;&amp;gt;p^{2} + 5^{p} + 31 = 3181^{q}&amp;lt;/math&amp;gt;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Soluție:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Putem scrie &amp;lt;math&amp;gt;p^{2} + 5^{p} = 3181^{q} - 31&amp;lt;/math&amp;gt;. Cum ultima cifră a lui &amp;lt;math&amp;gt;3181^{q} - 31&amp;lt;/math&amp;gt; este &amp;lt;math&amp;gt;0&amp;lt;/math&amp;gt; și &amp;lt;math&amp;gt;5^{p}&amp;lt;/math&amp;gt; este divizibil cu &amp;lt;math&amp;gt;5&amp;lt;/math&amp;gt;, deducem că &amp;lt;math&amp;gt;p=5&amp;lt;/math&amp;gt;. Atunci relația devine &amp;lt;math&amp;gt;5^2 + 5^5 + 31 = 3181^{q}&amp;lt;/math&amp;gt; sau &amp;lt;math&amp;gt;3181 = 3181^{q}&amp;lt;/math&amp;gt;, de unde &amp;lt;math&amp;gt;q = 1&amp;lt;/math&amp;gt;.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=S:E15.314&amp;diff=10353</id>
		<title>S:E15.314</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=S:E15.314&amp;diff=10353"/>
		<updated>2024-12-03T13:44:25Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;S:E15.314 (Cristina Vijdeluc și Mihai Vijdeluc)&amp;#039;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;Determinați numerele naturale &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; și &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; pentru care este adevărată relația &amp;lt;math&amp;gt;2018^{m}=8^{n}+2010&amp;lt;/math&amp;gt;.&amp;#039;&amp;#039;  &amp;#039;&amp;#039;&amp;#039;Soluție:&amp;#039;&amp;#039;&amp;#039;  &amp;#039;&amp;#039;Pentru &amp;lt;math&amp;gt;n=0&amp;lt;/math&amp;gt; și &amp;lt;math&amp;gt;m=0&amp;lt;/math&amp;gt; nu avem soluție. Pentru &amp;lt;math&amp;gt;n=1&amp;lt;/math&amp;gt; obținem &amp;lt;math&amp;gt;m=1&amp;lt;/math&amp;gt;. Dacă scriem relația sub forma &amp;lt;math&amp;gt;2018^{m}-2010=8^{n}&amp;lt;/math&amp;gt;, atunci pentru &amp;lt;math&amp;gt;n&amp;gt;1&amp;lt;/math&amp;gt; și &amp;lt;math&amp;gt;m&amp;gt;1&amp;lt;/math&amp;gt; avem în dreapta un număr...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;S:E15.314 (Cristina Vijdeluc și Mihai Vijdeluc)&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Determinați numerele naturale &amp;lt;math&amp;gt;m&amp;lt;/math&amp;gt; și &amp;lt;math&amp;gt;n&amp;lt;/math&amp;gt; pentru care este adevărată relația &amp;lt;math&amp;gt;2018^{m}=8^{n}+2010&amp;lt;/math&amp;gt;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Soluție:&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Pentru &amp;lt;math&amp;gt;n=0&amp;lt;/math&amp;gt; și &amp;lt;math&amp;gt;m=0&amp;lt;/math&amp;gt; nu avem soluție. Pentru &amp;lt;math&amp;gt;n=1&amp;lt;/math&amp;gt; obținem &amp;lt;math&amp;gt;m=1&amp;lt;/math&amp;gt;. Dacă scriem relația sub forma &amp;lt;math&amp;gt;2018^{m}-2010=8^{n}&amp;lt;/math&amp;gt;, atunci pentru &amp;lt;math&amp;gt;n&amp;gt;1&amp;lt;/math&amp;gt; și &amp;lt;math&amp;gt;m&amp;gt;1&amp;lt;/math&amp;gt; avem în dreapta un număr divizibil cu &amp;lt;math&amp;gt;8&amp;lt;/math&amp;gt;, iar numărul din stânga nu se divide cu &amp;lt;math&amp;gt;8&amp;lt;/math&amp;gt;. Prin urmare nu avem soluții.&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=1172_%E2%80%93_FList%C4%83_Num%C4%83rare&amp;diff=9769</id>
		<title>1172 – FListă Numărare</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=1172_%E2%80%93_FList%C4%83_Num%C4%83rare&amp;diff=9769"/>
		<updated>2024-05-09T09:52:40Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Cerinţa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Enunţ==&lt;br /&gt;
Se consideră o listă liniară simplu înlănțuită, alocată dinamic, în care elementele sunt de tipul declarat mai jos:&lt;br /&gt;
&lt;br /&gt;
    struct nod{&lt;br /&gt;
      int info;&lt;br /&gt;
      nod * urm;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
în care câmpul info memorează un număr întreg, iar câmpul urm memorează adresa următorului element al listei.&lt;br /&gt;
&lt;br /&gt;
==Cerinţa==&lt;br /&gt;
Să se scrie o funcție Python cu următorul prototip:&lt;br /&gt;
&lt;br /&gt;
    int numarare(nod * p);&lt;br /&gt;
&lt;br /&gt;
care determina și returnează numărul de elemente memorate în lista pentru care primul element are adresa memorată în pointerul p.&lt;br /&gt;
&lt;br /&gt;
==Important==&lt;br /&gt;
Se va rezolva în python.&lt;br /&gt;
&lt;br /&gt;
Soluţia propusă va conţine definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#1172 FListaNumarare&lt;br /&gt;
class Node:&lt;br /&gt;
  def __init__(self, info):&lt;br /&gt;
    self.info = info&lt;br /&gt;
    self.next = None&lt;br /&gt;
&lt;br /&gt;
def create_linked_list(elements):&lt;br /&gt;
  if not elements:&lt;br /&gt;
    return None&lt;br /&gt;
  head = Node(elements[0])&lt;br /&gt;
  current = head&lt;br /&gt;
  for element in elements[1:]:&lt;br /&gt;
    current.next = Node(element)&lt;br /&gt;
    current = current.next&lt;br /&gt;
  return head&lt;br /&gt;
&lt;br /&gt;
def numarare(p):&lt;br /&gt;
  count = 0&lt;br /&gt;
  current = p&lt;br /&gt;
  while current is not None:&lt;br /&gt;
    count += 1&lt;br /&gt;
    current = current.next&lt;br /&gt;
  return count&lt;br /&gt;
&lt;br /&gt;
# Exemplu de utilizare:&lt;br /&gt;
def main():&lt;br /&gt;
  # Creăm o listă de elemente&lt;br /&gt;
  elements = [1, 2, 3, 4]&lt;br /&gt;
&lt;br /&gt;
  # Creăm lista liniară simplu înlănțuită&lt;br /&gt;
  p = create_linked_list(elements)&lt;br /&gt;
&lt;br /&gt;
  # Apelăm funcția numarare pentru a număra elementele listei&lt;br /&gt;
  result = numarare(p)&lt;br /&gt;
  print(&amp;quot;Numărul de elemente în listă este:&amp;quot;, result)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
  main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3789_%E2%80%93_FList%C4%83_Oglindire&amp;diff=9768</id>
		<title>3789 – FListă Oglindire</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3789_%E2%80%93_FList%C4%83_Oglindire&amp;diff=9768"/>
		<updated>2024-05-09T08:41:53Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Cerinţa */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Enunţ==&lt;br /&gt;
Se consideră o listă liniară simplu înlănțuită, alocată dinamic, în care elementele sunt de tipul declarat mai jos:&lt;br /&gt;
&lt;br /&gt;
    struct nod{&lt;br /&gt;
      int info;&lt;br /&gt;
      nod * urm;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
în care câmpul info memorează un număr întreg, iar câmpul urm memorează adresa următorului element al listei.&lt;br /&gt;
&lt;br /&gt;
==Cerinţa==&lt;br /&gt;
Să se scrie o funcție Python cu următorul prototip:&lt;br /&gt;
&lt;br /&gt;
    void oglindire(nod * &amp;amp; p);&lt;br /&gt;
&lt;br /&gt;
care oglindește nodurile din lista pentru care primul element are adresa memorată în pointerul p.&lt;br /&gt;
&lt;br /&gt;
==Restricţii şi precizări==&lt;br /&gt;
numele funcției va fi oglindire&lt;br /&gt;
se recomandă evitarea folosirii unor structuri de date suplimentare&lt;br /&gt;
&lt;br /&gt;
==Important==&lt;br /&gt;
Se va rezolva în python.&lt;br /&gt;
&lt;br /&gt;
Soluţia propusă va conţine definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#3789 FListaOglindire&lt;br /&gt;
class Nod:&lt;br /&gt;
  def __init__(self, info):&lt;br /&gt;
    self.info = info&lt;br /&gt;
    self.urm = None&lt;br /&gt;
&lt;br /&gt;
def oglindire(p):&lt;br /&gt;
  anterior = None&lt;br /&gt;
  curent = p&lt;br /&gt;
  urmator = None&lt;br /&gt;
&lt;br /&gt;
  while curent is not None:&lt;br /&gt;
    urmator = curent.urm&lt;br /&gt;
    curent.urm = anterior&lt;br /&gt;
    anterior = curent&lt;br /&gt;
    curent = urmator&lt;br /&gt;
&lt;br /&gt;
  p = anterior  # Actualizăm referința către primul nod&lt;br /&gt;
  return p&lt;br /&gt;
&lt;br /&gt;
# Funcție pentru afișarea listei&lt;br /&gt;
def afisare_lista(p):&lt;br /&gt;
  while p is not None:&lt;br /&gt;
    print(p.info, end=&amp;quot; &amp;quot;)&lt;br /&gt;
    p = p.urm&lt;br /&gt;
  print()&lt;br /&gt;
&lt;br /&gt;
# Exemplu de utilizare&lt;br /&gt;
nod1 = Nod(1)&lt;br /&gt;
nod2 = Nod(2)&lt;br /&gt;
nod3 = Nod(3)&lt;br /&gt;
&lt;br /&gt;
nod1.urm = nod2&lt;br /&gt;
nod2.urm = nod3&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Lista initiala:&amp;quot;)&lt;br /&gt;
afisare_lista(nod1)&lt;br /&gt;
&lt;br /&gt;
nod1 = oglindire(nod1)&lt;br /&gt;
&lt;br /&gt;
print(&amp;quot;Lista oglindita:&amp;quot;)&lt;br /&gt;
afisare_lista(nod1)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2563_%E2%80%93_FAdCresc&amp;diff=9767</id>
		<title>2563 – FAdCresc</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2563_%E2%80%93_FAdCresc&amp;diff=9767"/>
		<updated>2024-05-09T08:27:23Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Cerința */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Enunţ==&lt;br /&gt;
Se consideră o listă liniară simplu înlănțuită, alocată dinamic, în care elementele sunt de tipul declarat mai jos:&lt;br /&gt;
&lt;br /&gt;
    struct nod{&lt;br /&gt;
      int info;&lt;br /&gt;
      nod * urm;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
în care câmpul info memorează un număr întreg, iar câmpul urm memorează adresa următorului element al listei.&lt;br /&gt;
&lt;br /&gt;
Informațiile din listă sunt ordonate crescător.&lt;br /&gt;
&lt;br /&gt;
==Cerința==&lt;br /&gt;
Să se scrie o funcție Python cu următorul prototip:&lt;br /&gt;
    &lt;br /&gt;
    void ins_cresc(nod *&amp;amp;p, int x);&lt;br /&gt;
&lt;br /&gt;
care inserează în listă un nou nod care memorează valoarea x astfel încât informațiile din lista să fie în continuare ordonate crescător; pointerul p are ca valoarea adresa primului element din listă.&lt;br /&gt;
&lt;br /&gt;
==Restricții și precizări==&lt;br /&gt;
*numele funcției va fi ins_cresc.&lt;br /&gt;
*lista conține inițial cel puțin un nod.&lt;br /&gt;
*rezolvarea problemei se va face în ptyhon&lt;br /&gt;
&lt;br /&gt;
==Important==&lt;br /&gt;
Soluţia propusă va conţine definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#2563 FAdCresc&lt;br /&gt;
class Node:&lt;br /&gt;
  def __init__(self, info):&lt;br /&gt;
    self.info = info&lt;br /&gt;
    self.next = None&lt;br /&gt;
&lt;br /&gt;
def ins_cresc(p, x):&lt;br /&gt;
  new_node = Node(x)&lt;br /&gt;
  &lt;br /&gt;
  # Dacă lista este goală sau noul nod trebuie inserat înaintea primului nod&lt;br /&gt;
  if p is None or x &amp;lt; p.info:&lt;br /&gt;
    new_node.next = p&lt;br /&gt;
    p = new_node&lt;br /&gt;
    return p&lt;br /&gt;
  &lt;br /&gt;
  # Parcurgem lista până găsim locul corect pentru inserare&lt;br /&gt;
  current = p&lt;br /&gt;
  while current.next is not None and current.next.info &amp;lt; x:&lt;br /&gt;
    current = current.next&lt;br /&gt;
  &lt;br /&gt;
  # Inserăm noul nod între current și current.next&lt;br /&gt;
  new_node.next = current.next&lt;br /&gt;
  current.next = new_node&lt;br /&gt;
  &lt;br /&gt;
  return p&lt;br /&gt;
&lt;br /&gt;
# Funcție pentru afișarea listei&lt;br /&gt;
def print_list(p):&lt;br /&gt;
  current = p&lt;br /&gt;
  while current is not None:&lt;br /&gt;
    print(current.info, end=&amp;quot; &amp;quot;)&lt;br /&gt;
    current = current.next&lt;br /&gt;
  print()&lt;br /&gt;
&lt;br /&gt;
# Funcție pentru crearea listei inițiale&lt;br /&gt;
def create_list(values):&lt;br /&gt;
  if not values:&lt;br /&gt;
    return None&lt;br /&gt;
  &lt;br /&gt;
  p = Node(values[0])&lt;br /&gt;
  current = p&lt;br /&gt;
  for val in values[1:]:&lt;br /&gt;
    current.next = Node(val)&lt;br /&gt;
    current = current.next&lt;br /&gt;
  &lt;br /&gt;
  return p&lt;br /&gt;
    &lt;br /&gt;
# Funcție pentru afișarea listei în ordine crescătoare&lt;br /&gt;
def print_list_sorted(p):&lt;br /&gt;
  # Creează o listă pentru a stoca valorile din listă&lt;br /&gt;
  values = []&lt;br /&gt;
  current = p&lt;br /&gt;
  while current is not None:&lt;br /&gt;
    values.append(current.info)&lt;br /&gt;
    current = current.next&lt;br /&gt;
  &lt;br /&gt;
  # Sortează valorile&lt;br /&gt;
  values.sort()&lt;br /&gt;
  &lt;br /&gt;
  # Afișează valorile sortate&lt;br /&gt;
  for val in values:&lt;br /&gt;
    print(val, end=&amp;quot; &amp;quot;)&lt;br /&gt;
  print()&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
  # Cream lista de test&lt;br /&gt;
  values = [2, 4, 8, 6, 1, 0]&lt;br /&gt;
  p = create_list(values)&lt;br /&gt;
&lt;br /&gt;
  #  Afisam lista in ordine crescatoare&lt;br /&gt;
  print(&amp;quot;Lista creata:&amp;quot;)&lt;br /&gt;
  print_list_sorted(p)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3527_%E2%80%93_F%C8%98terge_Duplicate&amp;diff=9766</id>
		<title>3527 – FȘterge Duplicate</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3527_%E2%80%93_F%C8%98terge_Duplicate&amp;diff=9766"/>
		<updated>2024-05-09T08:23:16Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Cerința */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;==Enunţ==&lt;br /&gt;
Se consideră o listă liniară simplu înlănțuită, alocată dinamic, în care elementele sunt de tipul declarat mai jos:&lt;br /&gt;
&lt;br /&gt;
    struct Nod{&lt;br /&gt;
      int val;&lt;br /&gt;
      Nod *next;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
în care câmpul val memorează un număr întreg, iar câmpul next memorează adresa următorului element al listei.&lt;br /&gt;
&lt;br /&gt;
Valorile din listă sunt ordonate crescător.&lt;br /&gt;
&lt;br /&gt;
==Cerința==&lt;br /&gt;
Să se scrie o funcție C++ cu următorul prototip:&lt;br /&gt;
&lt;br /&gt;
void FStergeDuplicate(Nod *&amp;amp;L);&lt;br /&gt;
Funcția primește ca parametru un pointer L la o listă simplu înlănțuită care are valorile din noduri în ordine crescătoare. Funcția trebuie să elimine nodurile care conțin valori duplicate. De exemplu, dacă lista conține valorile 3,3,3,5,6,7,7,7,7,20, atunci după eliminarea duplicatelor, lista va conține 3,5,6,7,20.&lt;br /&gt;
&lt;br /&gt;
==Restricții și precizări==&lt;br /&gt;
*numele funcției va fi FStergeDuplicate.&lt;br /&gt;
&lt;br /&gt;
==Important==&lt;br /&gt;
Soluţia propusă va conţine definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.&lt;br /&gt;
Rezolvarea se va face în python.&lt;br /&gt;
&lt;br /&gt;
==Enunţ==&lt;br /&gt;
Se consideră o listă liniară simplu înlănțuită, alocată dinamic, în care elementele sunt de tipul declarat mai jos:&lt;br /&gt;
&lt;br /&gt;
    struct Nod{&lt;br /&gt;
      int val;&lt;br /&gt;
      Nod *next;&lt;br /&gt;
    };&lt;br /&gt;
&lt;br /&gt;
în care câmpul val memorează un număr întreg, iar câmpul next memorează adresa următorului element al listei.&lt;br /&gt;
&lt;br /&gt;
Valorile din listă sunt ordonate crescător.&lt;br /&gt;
&lt;br /&gt;
==Cerința==&lt;br /&gt;
Să se scrie o funcție Python cu următorul prototip:&lt;br /&gt;
&lt;br /&gt;
void FStergeDuplicate(Nod *&amp;amp;L);&lt;br /&gt;
Funcția primește ca parametru un pointer L la o listă simplu înlănțuită care are valorile din noduri în ordine crescătoare. Funcția trebuie să elimine nodurile care conțin valori duplicate. De exemplu, dacă lista conține valorile 3,3,3,5,6,7,7,7,7,20, atunci după eliminarea duplicatelor, lista va conține 3,5,6,7,20.&lt;br /&gt;
&lt;br /&gt;
==Restricții și precizări==&lt;br /&gt;
*numele funcției va fi FStergeDuplicate.&lt;br /&gt;
&lt;br /&gt;
==Important==&lt;br /&gt;
Soluţia propusă va conţine definiţia funcţiei cerute. Prezenţa în soluţie a altor instrucţiuni poate duce erori de compilare sau de execuţie care vor avea ca efect depunctarea soluţiei.&lt;br /&gt;
Rezolvarea se va face în python.&lt;br /&gt;
&lt;br /&gt;
==Rezolvare==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#3527 FStergeDuplicate&lt;br /&gt;
# Definim clasa pentru nodul unei liste liniare simplu înlănțuite&lt;br /&gt;
class Nod:&lt;br /&gt;
  def __init__(self, val=0, next=None):&lt;br /&gt;
    self.val = val&lt;br /&gt;
    self.next = next&lt;br /&gt;
&lt;br /&gt;
# Funcția care elimină duplicatele din lista&lt;br /&gt;
def FStergeDuplicate(L):&lt;br /&gt;
  if L is None:&lt;br /&gt;
    return&lt;br /&gt;
&lt;br /&gt;
  current = L&lt;br /&gt;
  while current.next is not None:&lt;br /&gt;
    if current.val == current.next.val:&lt;br /&gt;
      next_next = current.next.next&lt;br /&gt;
      current.next = None&lt;br /&gt;
      current.next = next_next&lt;br /&gt;
    else:&lt;br /&gt;
      current = current.next&lt;br /&gt;
&lt;br /&gt;
# Funcția care creează o listă liniară simplu înlănțuită pe baza unei liste de valori&lt;br /&gt;
def createLinkedList(values):&lt;br /&gt;
  if not values:&lt;br /&gt;
    return None&lt;br /&gt;
&lt;br /&gt;
  # Creăm primul nod al listei&lt;br /&gt;
  head = Nod(values[0])&lt;br /&gt;
  current = head&lt;br /&gt;
&lt;br /&gt;
  # Iterăm prin valorile date și le adăugăm ca noduri în listă&lt;br /&gt;
  for val in values[1:]:&lt;br /&gt;
    current.next = Nod(val)&lt;br /&gt;
    current = current.next&lt;br /&gt;
&lt;br /&gt;
  return head&lt;br /&gt;
&lt;br /&gt;
# Exemplu de utilizare&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
  # Lista de valori din exemplu&lt;br /&gt;
  values = [3, 3, 3, 5, 6, 7, 7, 7, 7, 20]&lt;br /&gt;
&lt;br /&gt;
  # Creăm lista liniară simplu înlănțuită&lt;br /&gt;
  L = createLinkedList(values)&lt;br /&gt;
&lt;br /&gt;
  # Eliminăm duplicatele din lista&lt;br /&gt;
  FStergeDuplicate(L)&lt;br /&gt;
&lt;br /&gt;
  # Afisam lista rezultata&lt;br /&gt;
  current = L&lt;br /&gt;
  while current is not None:&lt;br /&gt;
    print(current.val, end=&amp;quot; &amp;quot;)&lt;br /&gt;
    current = current.next&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2298_-_Magnitudine&amp;diff=9355</id>
		<title>2298 - Magnitudine</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2298_-_Magnitudine&amp;diff=9355"/>
		<updated>2024-01-10T19:14:05Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Lipește codul aici */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Cerința =&lt;br /&gt;
În această problemă veţi primi două numere natural &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;, şi &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt;. Definim magnitudinea unui număr ca fiind diferenţa dintre cifra maximă şi cifra minimă ale lui. De exemplu, magnitudinea lui &amp;lt;code&amp;gt;9748&amp;lt;/code&amp;gt; este &amp;lt;code&amp;gt;9&amp;lt;/code&amp;gt; – &amp;lt;code&amp;gt;4&amp;lt;/code&amp;gt; = &amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Eliminaţi maxim &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; cifre din numărul &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;, astfel încât magnitudinea numărului obţinut să fie cât mai mică.&lt;br /&gt;
&lt;br /&gt;
= Date de intrare =&lt;br /&gt;
În fișierul &amp;lt;code&amp;gt;magnitudine.in&amp;lt;/code&amp;gt; se află pe prima linie numerele &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt; si &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; separate prin spaţii.&lt;br /&gt;
&lt;br /&gt;
= Date de ieșire =&lt;br /&gt;
Afișați în fișierul &amp;lt;code&amp;gt;magnitudine.out&amp;lt;/code&amp;gt; magnitudinea minimă care se poate obţine după eliminarea a &amp;lt;code&amp;gt;K&amp;lt;/code&amp;gt; cifre ale lui &amp;lt;code&amp;gt;N&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
= Restricții și precizări =&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;1 ≤ N ≤ 10&amp;lt;sup&amp;gt;18&amp;lt;/sup&amp;gt;&amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru teste în valoare de 30 puncte, &amp;lt;code&amp;gt;K = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru teste în valoare de 30 puncte, &amp;lt;code&amp;gt;K = 1&amp;lt;/code&amp;gt;&lt;br /&gt;
* pentru teste în valoare de 40 puncte, &amp;lt;code&amp;gt;K = 2&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Exemplu 1: =&lt;br /&gt;
&amp;lt;code&amp;gt;magnitudine.in&amp;lt;/code&amp;gt;&lt;br /&gt;
 9748 1&lt;br /&gt;
&amp;lt;code&amp;gt;magnitudine.out&amp;lt;/code&amp;gt;&lt;br /&gt;
 2&lt;br /&gt;
&lt;br /&gt;
== Încărcare soluție ==&lt;br /&gt;
&lt;br /&gt;
=== Lipește codul aici ===&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line=&amp;quot;1&amp;quot;&amp;gt;&lt;br /&gt;
import sys&lt;br /&gt;
&lt;br /&gt;
sys.stdin = open(&#039;magnitudinein.txt&#039;, &#039;r&#039;)&lt;br /&gt;
sys.stdout = open(&#039;magnitudineout.txt&#039;, &#039;w&#039;)&lt;br /&gt;
&lt;br /&gt;
n, k = map(int, input().split())&lt;br /&gt;
p = 0&lt;br /&gt;
a = []&lt;br /&gt;
while n:&lt;br /&gt;
    a.append(n % 10)&lt;br /&gt;
    n //= 10&lt;br /&gt;
    p += 1&lt;br /&gt;
a.sort()&lt;br /&gt;
if k == 0:&lt;br /&gt;
    print(a[p-1] - a[0])&lt;br /&gt;
elif k == 1:&lt;br /&gt;
    if a[p-2] - a[0] &amp;lt;= a[p-1] - a[1]:&lt;br /&gt;
        print(a[p-2] - a[0])&lt;br /&gt;
    else:&lt;br /&gt;
        print(a[p-1] - a[1])&lt;br /&gt;
else:&lt;br /&gt;
    if a[p-3] - a[0] &amp;lt;= a[p-1] - a[2] and a[p-3] - a[0] &amp;lt;= a[p-2] - a[1]:&lt;br /&gt;
        print(a[p-3] - a[0])&lt;br /&gt;
    elif a[p-1] - a[2] &amp;lt;= a[p-3] - a[0] and a[p-1] - a[2] &amp;lt;= a[p-2] - a[1]:&lt;br /&gt;
        print(a[p-1] - a[2])&lt;br /&gt;
    else:&lt;br /&gt;
        print(a[p-2] - a[1])&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0702_-_Pascal&amp;diff=9352</id>
		<title>0702 - Pascal</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0702_-_Pascal&amp;diff=9352"/>
		<updated>2024-01-09T22:06:33Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Restricții și precizări */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Triunghiul lui Pascal este un aranjament geometric de numere ce poartă numele celebrului matematician francez Blaise Pascal (19 iunie 1623 – 19 august 1662), deoarece el a fost prima persoană care a descoperit importanţa tuturor modelelor din componenţa acestuia.&lt;br /&gt;
&lt;br /&gt;
Triunghiul începe cu numărul 1. Acest rând este considerat rândul 0 al triunghiului. Restul numerelor din acest triunghi se formează ca suma celor două numere de deasupra (considerând că toate numerele din afara triunghiului sunt întotdeauna zero). Prin urmare, rândul 1 va fi format din &#039;&#039;&#039; 1 = 0 + 1&#039;&#039;&#039;,&#039;&#039;&#039; 1 = 1 + 0&#039;&#039;&#039;, iar rândul 2 va fi format din &#039;&#039;&#039;1 = 0 + 1&#039;&#039;&#039;,&#039;&#039;&#039; 2 = 1 + 1, 1 = 1 + 0&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Fie n și p două numere naturale nenule cu proprietățile:&lt;br /&gt;
*p este număr prim;&lt;br /&gt;
*n+1 este o putere naturală a lui p;&lt;br /&gt;
Notăm cu M(p) numărul de multipli de p din primele n+1 rânduri ale triunghiului lui Pascal.&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Să se scrie un program care citeşte numerele naturale n şi p și determină numărul M(p).&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare pascalin.txt conține pe prima linie numerele naturale n și p separate printr-un spațiu.&lt;br /&gt;
== Date de ieșire == &lt;br /&gt;
Fișierul de ieșire pascalout.txt va conține pe prima linie numărul M(p) cu semnificația de mai sus.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
*&#039;&#039;&#039;2 ≤ n ≤ 10^9&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;2 ≤ p ≤ 10^3&#039;&#039;&#039;&lt;br /&gt;
*30% din teste au n ≤ 10^4&lt;br /&gt;
*50% din teste au n ≤ 10^6&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; pascalin.txt&lt;br /&gt;
: 7 2&lt;br /&gt;
; pascalout.txt&lt;br /&gt;
: 9&lt;br /&gt;
== Explicatie ==&lt;br /&gt;
În primele 8 rânduri ale triunghiului se găsesc 9 multipli de 2: 2,4,6,4,10,10,6,20,6.&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; pascalin.txt&lt;br /&gt;
: 2196 13&lt;br /&gt;
; pascalout.txt&lt;br /&gt;
: 1660932&lt;br /&gt;
== Explicatie ==&lt;br /&gt;
n primele 2197 rânduri ale triunghiului se găsesc 1660932 multipli de 13.&lt;br /&gt;
== Rezolvare == &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#0702 - Pascal&lt;br /&gt;
def is_prime(num):&lt;br /&gt;
    if num &amp;lt; 2:&lt;br /&gt;
        return False&lt;br /&gt;
    for i in range(2, int(num**0.5) + 1):&lt;br /&gt;
        if num % i == 0:&lt;br /&gt;
            return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
def calculate_M_pascal(n, p):&lt;br /&gt;
    M_p = 0&lt;br /&gt;
    current_power = 1&lt;br /&gt;
    &lt;br /&gt;
    while current_power &amp;lt;= n + 1:&lt;br /&gt;
        M_p += (n + 1) // current_power&lt;br /&gt;
        current_power *= p&lt;br /&gt;
    &lt;br /&gt;
    return M_p&lt;br /&gt;
&lt;br /&gt;
def check_restrictions(n, p):&lt;br /&gt;
    if not (2 &amp;lt;= n &amp;lt;= 10**9):&lt;br /&gt;
        return False&lt;br /&gt;
    if not (2 &amp;lt;= p &amp;lt;= 10**3):&lt;br /&gt;
        return False&lt;br /&gt;
    if n &amp;gt; 10**4 and p &amp;gt; 2:&lt;br /&gt;
        return False&lt;br /&gt;
    if n &amp;gt; 10**6 and p &amp;gt; 2:&lt;br /&gt;
        return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea datelor de intrare&lt;br /&gt;
    with open(&#039;pascalin.txt&#039;, &#039;r&#039;) as file:&lt;br /&gt;
        n, p = map(int, file.readline().split())&lt;br /&gt;
&lt;br /&gt;
    # Verificare restricții&lt;br /&gt;
    if not check_restrictions(n, p):&lt;br /&gt;
        print(&amp;quot;false&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    # Verificare dacă p este prim&lt;br /&gt;
    if not is_prime(p):&lt;br /&gt;
        print(&amp;quot;false&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    # Calculul lui M(p)&lt;br /&gt;
    result = calculate_M_pascal(n, p)&lt;br /&gt;
&lt;br /&gt;
    # Scrierea rezultatului în fișierul de ieșire&lt;br /&gt;
    with open(&#039;pascalout.txt&#039;, &#039;w&#039;) as file:&lt;br /&gt;
        file.write(str(result))&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0418_-_Subgraf&amp;diff=9331</id>
		<title>0418 - Subgraf</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0418_-_Subgraf&amp;diff=9331"/>
		<updated>2024-01-09T18:12:03Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Rezolvare */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dă lista muchiilor unui graf neorientat cu &#039;&#039;&#039;n&#039;&#039;&#039; vârfuri, etichetate de la 1 la n. Din acest graf se elimină toate vârfurile etichetate cu valori prime. Să se determine câte muchii va avea subgraful obținut.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fişierul de intrare &#039;&#039;&#039;subgrafin.txt&#039;&#039;&#039; conţine pe prima linie numărul &#039;&#039;&#039;n&#039;&#039;&#039;, reprezentând numărul de vârfuri ale grafului. Fiecare dintre următoarele linii conține câte o pereche de numere &#039;&#039;&#039;i j&#039;&#039;&#039;, cu semnificația că există muchie între &#039;&#039;&#039;i&#039;&#039;&#039; și &#039;&#039;&#039;j&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire == &lt;br /&gt;
Pe ecran se va afișa mesajul: &#039;&#039;&#039;&amp;quot;Datele de intrare respectă cerințele impuse&amp;quot;&#039;&#039;&#039; daca se respecta datele de intrare iar in caz contrar se afiseaza mesajul &#039;&#039;&#039; “Datele de intrare nu respectă cerințele impuse” &#039;&#039;&#039;&lt;br /&gt;
Fişierul de ieşire &#039;&#039;&#039;subgrafout.txt&#039;&#039;&#039;va conţine pe prima linie numărul &#039;&#039;&#039;M&#039;&#039;&#039; de muchii ale subgrafului obținut.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* 1 &amp;amp;les; &#039;&#039;&#039;n&#039;&#039;&#039; &amp;amp;les; 100 &lt;br /&gt;
* 1 &amp;amp;les; &#039;&#039;&#039;i, j&#039;&#039;&#039; &amp;amp;les; n&lt;br /&gt;
* muchiile se pot repeta în fișierul de intrare&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
Subgrafin.txt&lt;br /&gt;
 5&lt;br /&gt;
 1 4&lt;br /&gt;
 2 5&lt;br /&gt;
 2 3&lt;br /&gt;
 2 1&lt;br /&gt;
 4 5&lt;br /&gt;
 3 2&lt;br /&gt;
 4 3&lt;br /&gt;
Subgrafout.txt&lt;br /&gt;
 Datele de intrare respectă cerințele impuse&lt;br /&gt;
 1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
Subgrafin.txt&lt;br /&gt;
 0&lt;br /&gt;
Subgrafout.txt&lt;br /&gt;
 Datele de intrare nu respectă cerințele impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare == &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def is_prime(num):&lt;br /&gt;
    if num &amp;lt; 2:&lt;br /&gt;
        return False&lt;br /&gt;
    for i in range(2, int(num**0.5) + 1):&lt;br /&gt;
        if num % i == 0:&lt;br /&gt;
            return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
def count_edges_after_prime_removal(graph, n):&lt;br /&gt;
    primes = [i for i in range(2, n+1) if is_prime(i)]&lt;br /&gt;
    vertices_to_remove = set(primes)&lt;br /&gt;
    &lt;br /&gt;
    # Eliminăm vârfurile etichetate cu valori prime din graful original&lt;br /&gt;
    new_graph = [(i, j) for (i, j) in graph if i not in vertices_to_remove and j not in vertices_to_remove]&lt;br /&gt;
&lt;br /&gt;
    # Numărăm câte muchii rămân în subgraful obținut&lt;br /&gt;
    return len(new_graph)&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    try:&lt;br /&gt;
        # Citim datele de intrare din fișierul &amp;quot;subgraf.in&amp;quot;&lt;br /&gt;
        with open(&amp;quot;subgraf.in&amp;quot;, &amp;quot;r&amp;quot;) as fin:&lt;br /&gt;
            n = int(fin.readline().strip())&lt;br /&gt;
            graph = [tuple(map(int, line.split())) for line in fin.readlines()]&lt;br /&gt;
&lt;br /&gt;
        # Verificăm respectarea restricțiilor&lt;br /&gt;
        if not (1 &amp;lt;= n &amp;lt;= 100) or any(not (1 &amp;lt;= i &amp;lt;= n and 1 &amp;lt;= j &amp;lt;= n) for i, j in graph):&lt;br /&gt;
            print(&amp;quot;Datele de intrare nu respectă cerințele impuse&amp;quot;)&lt;br /&gt;
            return&lt;br /&gt;
        else:&lt;br /&gt;
            print(&amp;quot;Datele de intrare respectă cerințele impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        # Calculăm numărul de muchii în subgraful obținut&lt;br /&gt;
        result_edges = count_edges_after_prime_removal(graph, n)&lt;br /&gt;
&lt;br /&gt;
        # Scriem rezultatul în fișierul &amp;quot;subgraf.out&amp;quot;&lt;br /&gt;
        with open(&amp;quot;subgraf.out&amp;quot;, &amp;quot;w&amp;quot;) as fout:&lt;br /&gt;
            fout.write(f&amp;quot;{result_edges}\n&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    except Exception as e:&lt;br /&gt;
        print(f&amp;quot;Datele de intrare nu respectă cerințele impuse: {e}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()    &lt;br /&gt;
    dimensiune = int(input())&lt;br /&gt;
&lt;br /&gt;
    # Citim matricea de adiacență de la tastatură&lt;br /&gt;
    matrix = []&lt;br /&gt;
&lt;br /&gt;
    for _ in range(dimensiune):&lt;br /&gt;
        row = list(map(int, input().split()))&lt;br /&gt;
        matrix.append(row)&lt;br /&gt;
&lt;br /&gt;
    # Verificăm dacă matricea este o matrice de adiacență&lt;br /&gt;
    result = count_edges_after_prime_removal(matrix, dimensiune)&lt;br /&gt;
&lt;br /&gt;
    # Afișăm rezultatul&lt;br /&gt;
    print(result)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Explicație==&lt;br /&gt;
Se elimină vârfurile 2 3 5. Subgraful va conține vârfurile 1 4, cu o singură muchie.&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3124_-_Patrat_Magic_0&amp;diff=8750</id>
		<title>3124 - Patrat Magic 0</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3124_-_Patrat_Magic_0&amp;diff=8750"/>
		<updated>2024-01-01T21:37:10Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Enunt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunt ==&lt;br /&gt;
Un Pătrat Magic este un pătrat ce conține numerele de la 1 la n^2 în care sumele fiecăror linii, coloane și a celor două diagonale sunt egale. Această sumă se mai numește și constanta pătratului magic.&lt;br /&gt;
&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Se dă un număr natural n, urmat de o matrice pătratică cu n * n elemente, numere naturale. Să se verifice dacă matricea dată este un pătrat magic.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul n, iar apoi n * n numere naturale, reprezentând elementele matricei.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran true dacă matricea dată este un pătrat magic sau false dacă nu este.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
*3 &amp;amp;les; n &amp;amp;les; 500&lt;br /&gt;
*cele n numere citite vor fi mai mici sau egale decât 250.000&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
:Intrare&lt;br /&gt;
:3&lt;br /&gt;
:4 9 2 &lt;br /&gt;
:3 5 7 &lt;br /&gt;
:8 1 6 &lt;br /&gt;
;Ieșire&lt;br /&gt;
:true&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
;Intrare&lt;br /&gt;
:3&lt;br /&gt;
:1 2 3&lt;br /&gt;
:1 2 3&lt;br /&gt;
:0 9 1&lt;br /&gt;
;Iesire&lt;br /&gt;
:false&lt;br /&gt;
== Exemplu 3 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Nu au fost respectate cerintele impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#3124 - PatratMagic0&lt;br /&gt;
def is_magic_square(n, matrix):&lt;br /&gt;
    # Verificare daca elementele matricei sunt distincte&lt;br /&gt;
    distinct_numbers = set()&lt;br /&gt;
    for row in matrix:&lt;br /&gt;
        for num in row:&lt;br /&gt;
            if num &amp;lt;= 0 or num &amp;gt; n ** 2 or num in distinct_numbers:&lt;br /&gt;
                return False&lt;br /&gt;
            distinct_numbers.add(num)&lt;br /&gt;
&lt;br /&gt;
    # Calcularea constantei magice&lt;br /&gt;
    magic_constant = n * (n ** 2 + 1) // 2&lt;br /&gt;
&lt;br /&gt;
    # Verificare sume pe linii&lt;br /&gt;
    for row in matrix:&lt;br /&gt;
        if sum(row) != magic_constant:&lt;br /&gt;
            return False&lt;br /&gt;
&lt;br /&gt;
    # Verificare sume pe coloane&lt;br /&gt;
    for j in range(n):&lt;br /&gt;
        if sum(matrix[i][j] for i in range(n)) != magic_constant:&lt;br /&gt;
            return False&lt;br /&gt;
&lt;br /&gt;
    # Verificare suma pe diagonala principala&lt;br /&gt;
    if sum(matrix[i][i] for i in range(n)) != magic_constant:&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
    # Verificare suma pe diagonala secundara&lt;br /&gt;
    if sum(matrix[i][n - i - 1] for i in range(n)) != magic_constant:&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    try:&lt;br /&gt;
        # Citirea datelor de intrare&lt;br /&gt;
        n = int(input(&amp;quot;Introduceti n: &amp;quot;))&lt;br /&gt;
        if not (3 &amp;lt;= n &amp;lt;= 500):&lt;br /&gt;
            raise ValueError(&amp;quot;Nu a fost respectata restrangerea pentru n.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        matrix = []&lt;br /&gt;
        print(&amp;quot;Introduceti elementele matricei:&amp;quot;)&lt;br /&gt;
        for _ in range(n):&lt;br /&gt;
            row = list(map(int, input().split()))&lt;br /&gt;
            if len(row) != n or any(num &amp;gt; 250000 for num in row):&lt;br /&gt;
                raise ValueError(&amp;quot;Nu au fost respectate cerintele impuse.&amp;quot;)&lt;br /&gt;
            matrix.append(row)&lt;br /&gt;
&lt;br /&gt;
        # Verificarea daca matricea este un patrat magic&lt;br /&gt;
        result = is_magic_square(n, matrix)&lt;br /&gt;
&lt;br /&gt;
        # Afisarea rezultatului&lt;br /&gt;
        print(result)&lt;br /&gt;
&lt;br /&gt;
    except ValueError as e:&lt;br /&gt;
        print(f&amp;quot;Nu au fost respectate cerintele impuse: {e}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3124_-_Patrat_Magic_0&amp;diff=8749</id>
		<title>3124 - Patrat Magic 0</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3124_-_Patrat_Magic_0&amp;diff=8749"/>
		<updated>2024-01-01T21:36:49Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Enunt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunt ==&lt;br /&gt;
Un Pătrat Magic este un pătrat ce conține numerele de la 1 la &amp;lt;math&amp;gt;n^2 &amp;lt;math/&amp;gt;în care sumele fiecăror linii, coloane și a celor două diagonale sunt egale. Această sumă se mai numește și constanta pătratului magic.&lt;br /&gt;
&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Se dă un număr natural n, urmat de o matrice pătratică cu n * n elemente, numere naturale. Să se verifice dacă matricea dată este un pătrat magic.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul n, iar apoi n * n numere naturale, reprezentând elementele matricei.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran true dacă matricea dată este un pătrat magic sau false dacă nu este.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
*3 &amp;amp;les; n &amp;amp;les; 500&lt;br /&gt;
*cele n numere citite vor fi mai mici sau egale decât 250.000&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
:Intrare&lt;br /&gt;
:3&lt;br /&gt;
:4 9 2 &lt;br /&gt;
:3 5 7 &lt;br /&gt;
:8 1 6 &lt;br /&gt;
;Ieșire&lt;br /&gt;
:true&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
;Intrare&lt;br /&gt;
:3&lt;br /&gt;
:1 2 3&lt;br /&gt;
:1 2 3&lt;br /&gt;
:0 9 1&lt;br /&gt;
;Iesire&lt;br /&gt;
:false&lt;br /&gt;
== Exemplu 3 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Nu au fost respectate cerintele impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#3124 - PatratMagic0&lt;br /&gt;
def is_magic_square(n, matrix):&lt;br /&gt;
    # Verificare daca elementele matricei sunt distincte&lt;br /&gt;
    distinct_numbers = set()&lt;br /&gt;
    for row in matrix:&lt;br /&gt;
        for num in row:&lt;br /&gt;
            if num &amp;lt;= 0 or num &amp;gt; n ** 2 or num in distinct_numbers:&lt;br /&gt;
                return False&lt;br /&gt;
            distinct_numbers.add(num)&lt;br /&gt;
&lt;br /&gt;
    # Calcularea constantei magice&lt;br /&gt;
    magic_constant = n * (n ** 2 + 1) // 2&lt;br /&gt;
&lt;br /&gt;
    # Verificare sume pe linii&lt;br /&gt;
    for row in matrix:&lt;br /&gt;
        if sum(row) != magic_constant:&lt;br /&gt;
            return False&lt;br /&gt;
&lt;br /&gt;
    # Verificare sume pe coloane&lt;br /&gt;
    for j in range(n):&lt;br /&gt;
        if sum(matrix[i][j] for i in range(n)) != magic_constant:&lt;br /&gt;
            return False&lt;br /&gt;
&lt;br /&gt;
    # Verificare suma pe diagonala principala&lt;br /&gt;
    if sum(matrix[i][i] for i in range(n)) != magic_constant:&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
    # Verificare suma pe diagonala secundara&lt;br /&gt;
    if sum(matrix[i][n - i - 1] for i in range(n)) != magic_constant:&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    try:&lt;br /&gt;
        # Citirea datelor de intrare&lt;br /&gt;
        n = int(input(&amp;quot;Introduceti n: &amp;quot;))&lt;br /&gt;
        if not (3 &amp;lt;= n &amp;lt;= 500):&lt;br /&gt;
            raise ValueError(&amp;quot;Nu a fost respectata restrangerea pentru n.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        matrix = []&lt;br /&gt;
        print(&amp;quot;Introduceti elementele matricei:&amp;quot;)&lt;br /&gt;
        for _ in range(n):&lt;br /&gt;
            row = list(map(int, input().split()))&lt;br /&gt;
            if len(row) != n or any(num &amp;gt; 250000 for num in row):&lt;br /&gt;
                raise ValueError(&amp;quot;Nu au fost respectate cerintele impuse.&amp;quot;)&lt;br /&gt;
            matrix.append(row)&lt;br /&gt;
&lt;br /&gt;
        # Verificarea daca matricea este un patrat magic&lt;br /&gt;
        result = is_magic_square(n, matrix)&lt;br /&gt;
&lt;br /&gt;
        # Afisarea rezultatului&lt;br /&gt;
        print(result)&lt;br /&gt;
&lt;br /&gt;
    except ValueError as e:&lt;br /&gt;
        print(f&amp;quot;Nu au fost respectate cerintele impuse: {e}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=3124_-_Patrat_Magic_0&amp;diff=8748</id>
		<title>3124 - Patrat Magic 0</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=3124_-_Patrat_Magic_0&amp;diff=8748"/>
		<updated>2024-01-01T21:36:36Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Enunt */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunt ==&lt;br /&gt;
Un Pătrat Magic este un pătrat ce conține numerele de la 1 la &amp;lt;math&amp;gt;n^2 &amp;lt;math\&amp;gt;în care sumele fiecăror linii, coloane și a celor două diagonale sunt egale. Această sumă se mai numește și constanta pătratului magic.&lt;br /&gt;
&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Se dă un număr natural n, urmat de o matrice pătratică cu n * n elemente, numere naturale. Să se verifice dacă matricea dată este un pătrat magic.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură numărul n, iar apoi n * n numere naturale, reprezentând elementele matricei.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran true dacă matricea dată este un pătrat magic sau false dacă nu este.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
*3 &amp;amp;les; n &amp;amp;les; 500&lt;br /&gt;
*cele n numere citite vor fi mai mici sau egale decât 250.000&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
:Intrare&lt;br /&gt;
:3&lt;br /&gt;
:4 9 2 &lt;br /&gt;
:3 5 7 &lt;br /&gt;
:8 1 6 &lt;br /&gt;
;Ieșire&lt;br /&gt;
:true&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
;Intrare&lt;br /&gt;
:3&lt;br /&gt;
:1 2 3&lt;br /&gt;
:1 2 3&lt;br /&gt;
:0 9 1&lt;br /&gt;
;Iesire&lt;br /&gt;
:false&lt;br /&gt;
== Exemplu 3 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Nu au fost respectate cerintele impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#3124 - PatratMagic0&lt;br /&gt;
def is_magic_square(n, matrix):&lt;br /&gt;
    # Verificare daca elementele matricei sunt distincte&lt;br /&gt;
    distinct_numbers = set()&lt;br /&gt;
    for row in matrix:&lt;br /&gt;
        for num in row:&lt;br /&gt;
            if num &amp;lt;= 0 or num &amp;gt; n ** 2 or num in distinct_numbers:&lt;br /&gt;
                return False&lt;br /&gt;
            distinct_numbers.add(num)&lt;br /&gt;
&lt;br /&gt;
    # Calcularea constantei magice&lt;br /&gt;
    magic_constant = n * (n ** 2 + 1) // 2&lt;br /&gt;
&lt;br /&gt;
    # Verificare sume pe linii&lt;br /&gt;
    for row in matrix:&lt;br /&gt;
        if sum(row) != magic_constant:&lt;br /&gt;
            return False&lt;br /&gt;
&lt;br /&gt;
    # Verificare sume pe coloane&lt;br /&gt;
    for j in range(n):&lt;br /&gt;
        if sum(matrix[i][j] for i in range(n)) != magic_constant:&lt;br /&gt;
            return False&lt;br /&gt;
&lt;br /&gt;
    # Verificare suma pe diagonala principala&lt;br /&gt;
    if sum(matrix[i][i] for i in range(n)) != magic_constant:&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
    # Verificare suma pe diagonala secundara&lt;br /&gt;
    if sum(matrix[i][n - i - 1] for i in range(n)) != magic_constant:&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    try:&lt;br /&gt;
        # Citirea datelor de intrare&lt;br /&gt;
        n = int(input(&amp;quot;Introduceti n: &amp;quot;))&lt;br /&gt;
        if not (3 &amp;lt;= n &amp;lt;= 500):&lt;br /&gt;
            raise ValueError(&amp;quot;Nu a fost respectata restrangerea pentru n.&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
        matrix = []&lt;br /&gt;
        print(&amp;quot;Introduceti elementele matricei:&amp;quot;)&lt;br /&gt;
        for _ in range(n):&lt;br /&gt;
            row = list(map(int, input().split()))&lt;br /&gt;
            if len(row) != n or any(num &amp;gt; 250000 for num in row):&lt;br /&gt;
                raise ValueError(&amp;quot;Nu au fost respectate cerintele impuse.&amp;quot;)&lt;br /&gt;
            matrix.append(row)&lt;br /&gt;
&lt;br /&gt;
        # Verificarea daca matricea este un patrat magic&lt;br /&gt;
        result = is_magic_square(n, matrix)&lt;br /&gt;
&lt;br /&gt;
        # Afisarea rezultatului&lt;br /&gt;
        print(result)&lt;br /&gt;
&lt;br /&gt;
    except ValueError as e:&lt;br /&gt;
        print(f&amp;quot;Nu au fost respectate cerintele impuse: {e}&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2973_-_Cate_3_Cifre&amp;diff=8639</id>
		<title>2973 - Cate 3 Cifre</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2973_-_Cate_3_Cifre&amp;diff=8639"/>
		<updated>2023-12-29T11:19:06Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Gigel, pasionat de numere, știe că orice număr natural se scrie într-o bază de numerație b ca o succesiune de simboluri care au asociate valori de la 0 la b-1. De exemplu numărul 7, scris în baza 10, se scrie în baza 2 ca 111(2), iar numărul 26732, scris în baza 10, se scrie în baza 37 ca o succesiune de 3 simboluri, primele două având asociată valoarea 19, iar ultimul având asociată valoarea 18. El a descoperit că există numere care au proprietatea că se scriu, în exact două baze diferite, prin exact trei simboluri identice. De exemplu, numărul 931(10) se scrie în baza 11 ca 777(11), iar în baza 30 se scrie 111(30).&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Fiind dat un număr natural N, să se determine cel mai mare număr natural mai mic sau egal cu N, care are proprietatea că se scrie în exact două baze diferite prin exact 3 simboluri identice.&amp;lt;br&amp;gt;&lt;br /&gt;
1. Să se scrie numărul determinat&amp;lt;br&amp;gt;&lt;br /&gt;
2. Să se scrie cele două baze determinate și valorile simbolurilor respective.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare cate3cifre.in conţine pe prima linie cerința (1 sau 2). Pe linia a doua a fișierului de intrare se află numărul natural N.&lt;br /&gt;
== Date de ieșire == &lt;br /&gt;
Fișierul de ieșire cate3cifre.out va conține pe prima linie, dacă cerința este 1, numărul determinat. Dacă cerința este 2, prima și cea de a doua linie a fișierului de ieșire au aceeași structură: pe fiecare linie se vor scrie, separate printr-un spațiu, două numere naturale b c, reprezentând baza și valoarea simbolului cerut din baza respectivă. Cele două baze se vor afișa în ordine crescătoare.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
0 &amp;lt; N ≤ 1000000&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pentru rezolvarea corectă a cerinței 1 se acordă 60 de puncte. Pentru cerința 2, se acordă 30 de puncte. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pentru 50 de puncte N ≤ 10000&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Numărul xyz(b) scris în baza b cu simbolurile x, y, z se scrie în baza 10 ca o valoare calculată astfel: x • b2 + y • b + z (unde simbolurile x, y, z se înlocuiesc cu valorile asociate)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pentru fiecare test există soluție.&lt;br /&gt;
În concurs s-au acordat 10 puncte din oficiu. Aici se acordă pentru exemplele din enunț.&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
; cate3cifre.in&lt;br /&gt;
:1&lt;br /&gt;
:1000&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
; cate3cifre.out&lt;br /&gt;
:931 &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
; cate3cifre.in&lt;br /&gt;
:2&lt;br /&gt;
:1000&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
; cate3cifre.out&lt;br /&gt;
:11 7&lt;br /&gt;
:30 1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare == &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#2973 - Cate 3 Cifre&lt;br /&gt;
def get_base_representation(num, base):&lt;br /&gt;
    result = &amp;quot;&amp;quot;&lt;br /&gt;
    while num &amp;gt; 0:&lt;br /&gt;
        digit = num % base&lt;br /&gt;
        result = str(digit) + result&lt;br /&gt;
        num //= base&lt;br /&gt;
    return result&lt;br /&gt;
&lt;br /&gt;
def find_number_with_property(N):&lt;br /&gt;
    for base1 in range(2, 10):&lt;br /&gt;
        for base2 in range(base1 + 1, 10):&lt;br /&gt;
            for digit in range(10):&lt;br /&gt;
                number = digit * base1**2 + digit * base1 + digit&lt;br /&gt;
                if number &amp;lt;= N and get_base_representation(number, base2) == str(digit) * 3:&lt;br /&gt;
                    return number, base1, base2, digit&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;cate3cifre.in&amp;quot;, &amp;quot;r&amp;quot;) as file_in:&lt;br /&gt;
    cerinta = int(file_in.readline().strip())&lt;br /&gt;
    N = int(file_in.readline().strip())&lt;br /&gt;
&lt;br /&gt;
if cerinta == 1:&lt;br /&gt;
    rezultat = find_number_with_property(N)&lt;br /&gt;
    with open(&amp;quot;cate3cifre.out&amp;quot;, &amp;quot;w&amp;quot;) as file_out:&lt;br /&gt;
        file_out.write(str(rezultat[0]))&lt;br /&gt;
else:&lt;br /&gt;
    rezultate = find_number_with_property(N)&lt;br /&gt;
    with open(&amp;quot;cate3cifre.out&amp;quot;, &amp;quot;w&amp;quot;) as file_out:&lt;br /&gt;
        file_out.write(f&amp;quot;{rezultate[1]} {rezultate[3]}\n&amp;quot;)&lt;br /&gt;
        file_out.write(f&amp;quot;{rezultate[2]} {rezultate[3]}\n&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2973_-_Cate_3_Cifre&amp;diff=8638</id>
		<title>2973 - Cate 3 Cifre</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2973_-_Cate_3_Cifre&amp;diff=8638"/>
		<updated>2023-12-29T11:18:38Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Gigel, pasionat de numere, știe că orice număr natural se scrie într-o bază de numerație b ca o succesiune de simboluri care au asociate valori de la 0 la b-1. De exemplu numărul 7, scris în baza 10, se scrie în baza 2 ca 111(2), iar numărul 26732, scris în baza 10, se scrie în baza 37 ca o succesiune de 3 simboluri, primele două având asociată valoarea 19, iar ultimul având asociată valoarea 18. El a descoperit că există numere care au proprietatea că se scriu, în exact două baze diferite, prin exact trei simboluri identice. De exemplu, numărul 931(10) se scrie în baza 11 ca 777(11), iar în baza 30 se scrie 111(30).&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Fiind dat un număr natural N, să se determine cel mai mare număr natural mai mic sau egal cu N, care are proprietatea că se scrie în exact două baze diferite prin exact 3 simboluri identice.&amp;lt;br&amp;gt;&lt;br /&gt;
1. Să se scrie numărul determinat&amp;lt;br&amp;gt;&lt;br /&gt;
2. Să se scrie cele două baze determinate și valorile simbolurilor respective.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare cate3cifre.in conţine pe prima linie cerința (1 sau 2). Pe linia a doua a fișierului de intrare se află numărul natural N.&lt;br /&gt;
== Date de ieșire == &lt;br /&gt;
Fișierul de ieșire cate3cifre.out va conține pe prima linie, dacă cerința este 1, numărul determinat. Dacă cerința este 2, prima și cea de a doua linie a fișierului de ieșire au aceeași structură: pe fiecare linie se vor scrie, separate printr-un spațiu, două numere naturale b c, reprezentând baza și valoarea simbolului cerut din baza respectivă. Cele două baze se vor afișa în ordine crescătoare.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
0 &amp;lt; N ≤ 1000000&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pentru rezolvarea corectă a cerinței 1 se acordă 60 de puncte. Pentru cerința 2, se acordă 30 de puncte. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pentru 50 de puncte N ≤ 10000&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Numărul xyz(b) scris în baza b cu simbolurile x, y, z se scrie în baza 10 ca o valoare calculată astfel: x • b2 + y • b + z (unde simbolurile x, y, z se înlocuiesc cu valorile asociate)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pentru fiecare test există soluție.&lt;br /&gt;
În concurs s-au acordat 10 puncte din oficiu. Aici se acordă pentru exemplele din enunț.&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: cate3cifre.in&lt;br /&gt;
:1&lt;br /&gt;
:1000&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: cate3cifre.out&lt;br /&gt;
:931 &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
; cate3cifre.in&lt;br /&gt;
:2&lt;br /&gt;
:1000&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
; cate3cifre.out&lt;br /&gt;
:11 7&lt;br /&gt;
:30 1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare == &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#2973 - Cate 3 Cifre&lt;br /&gt;
def get_base_representation(num, base):&lt;br /&gt;
    result = &amp;quot;&amp;quot;&lt;br /&gt;
    while num &amp;gt; 0:&lt;br /&gt;
        digit = num % base&lt;br /&gt;
        result = str(digit) + result&lt;br /&gt;
        num //= base&lt;br /&gt;
    return result&lt;br /&gt;
&lt;br /&gt;
def find_number_with_property(N):&lt;br /&gt;
    for base1 in range(2, 10):&lt;br /&gt;
        for base2 in range(base1 + 1, 10):&lt;br /&gt;
            for digit in range(10):&lt;br /&gt;
                number = digit * base1**2 + digit * base1 + digit&lt;br /&gt;
                if number &amp;lt;= N and get_base_representation(number, base2) == str(digit) * 3:&lt;br /&gt;
                    return number, base1, base2, digit&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;cate3cifre.in&amp;quot;, &amp;quot;r&amp;quot;) as file_in:&lt;br /&gt;
    cerinta = int(file_in.readline().strip())&lt;br /&gt;
    N = int(file_in.readline().strip())&lt;br /&gt;
&lt;br /&gt;
if cerinta == 1:&lt;br /&gt;
    rezultat = find_number_with_property(N)&lt;br /&gt;
    with open(&amp;quot;cate3cifre.out&amp;quot;, &amp;quot;w&amp;quot;) as file_out:&lt;br /&gt;
        file_out.write(str(rezultat[0]))&lt;br /&gt;
else:&lt;br /&gt;
    rezultate = find_number_with_property(N)&lt;br /&gt;
    with open(&amp;quot;cate3cifre.out&amp;quot;, &amp;quot;w&amp;quot;) as file_out:&lt;br /&gt;
        file_out.write(f&amp;quot;{rezultate[1]} {rezultate[3]}\n&amp;quot;)&lt;br /&gt;
        file_out.write(f&amp;quot;{rezultate[2]} {rezultate[3]}\n&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2973_-_Cate_3_Cifre&amp;diff=8635</id>
		<title>2973 - Cate 3 Cifre</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2973_-_Cate_3_Cifre&amp;diff=8635"/>
		<updated>2023-12-29T11:01:19Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Cerința */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Gigel, pasionat de numere, știe că orice număr natural se scrie într-o bază de numerație b ca o succesiune de simboluri care au asociate valori de la 0 la b-1. De exemplu numărul 7, scris în baza 10, se scrie în baza 2 ca 111(2), iar numărul 26732, scris în baza 10, se scrie în baza 37 ca o succesiune de 3 simboluri, primele două având asociată valoarea 19, iar ultimul având asociată valoarea 18. El a descoperit că există numere care au proprietatea că se scriu, în exact două baze diferite, prin exact trei simboluri identice. De exemplu, numărul 931(10) se scrie în baza 11 ca 777(11), iar în baza 30 se scrie 111(30).&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Fiind dat un număr natural N, să se determine cel mai mare număr natural mai mic sau egal cu N, care are proprietatea că se scrie în exact două baze diferite prin exact 3 simboluri identice.&amp;lt;br&amp;gt;&lt;br /&gt;
1. Să se scrie numărul determinat&amp;lt;br&amp;gt;&lt;br /&gt;
2. Să se scrie cele două baze determinate și valorile simbolurilor respective.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare cate3cifre.in conţine pe prima linie cerința (1 sau 2). Pe linia a doua a fișierului de intrare se află numărul natural N.&lt;br /&gt;
== Date de ieșire == &lt;br /&gt;
Fișierul de ieșire cate3cifre.out va conține pe prima linie, dacă cerința este 1, numărul determinat. Dacă cerința este 2, prima și cea de a doua linie a fișierului de ieșire au aceeași structură: pe fiecare linie se vor scrie, separate printr-un spațiu, două numere naturale b c, reprezentând baza și valoarea simbolului cerut din baza respectivă. Cele două baze se vor afișa în ordine crescătoare.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
0 &amp;lt; N ≤ 1000000&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pentru rezolvarea corectă a cerinței 1 se acordă 60 de puncte. Pentru cerința 2, se acordă 30 de puncte. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pentru 50 de puncte N ≤ 10000&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Numărul xyz(b) scris în baza b cu simbolurile x, y, z se scrie în baza 10 ca o valoare calculată astfel: x • b2 + y • b + z (unde simbolurile x, y, z se înlocuiesc cu valorile asociate)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pentru fiecare test există soluție.&lt;br /&gt;
În concurs s-au acordat 10 puncte din oficiu. Aici se acordă pentru exemplele din enunț.&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: cate3cifre.in&lt;br /&gt;
:1&lt;br /&gt;
:1000&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: cate3cifre.out&lt;br /&gt;
:931 &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: cate3cifre.in&lt;br /&gt;
:2&lt;br /&gt;
:1000&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: cate3cifre.out&lt;br /&gt;
:11 7&lt;br /&gt;
:30 1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare == &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#2973 - Cate 3 Cifre&lt;br /&gt;
def get_base_representation(num, base):&lt;br /&gt;
    result = &amp;quot;&amp;quot;&lt;br /&gt;
    while num &amp;gt; 0:&lt;br /&gt;
        digit = num % base&lt;br /&gt;
        result = str(digit) + result&lt;br /&gt;
        num //= base&lt;br /&gt;
    return result&lt;br /&gt;
&lt;br /&gt;
def find_number_with_property(N):&lt;br /&gt;
    for base1 in range(2, 10):&lt;br /&gt;
        for base2 in range(base1 + 1, 10):&lt;br /&gt;
            for digit in range(10):&lt;br /&gt;
                number = digit * base1**2 + digit * base1 + digit&lt;br /&gt;
                if number &amp;lt;= N and get_base_representation(number, base2) == str(digit) * 3:&lt;br /&gt;
                    return number, base1, base2, digit&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;cate3cifre.in&amp;quot;, &amp;quot;r&amp;quot;) as file_in:&lt;br /&gt;
    cerinta = int(file_in.readline().strip())&lt;br /&gt;
    N = int(file_in.readline().strip())&lt;br /&gt;
&lt;br /&gt;
if cerinta == 1:&lt;br /&gt;
    rezultat = find_number_with_property(N)&lt;br /&gt;
    with open(&amp;quot;cate3cifre.out&amp;quot;, &amp;quot;w&amp;quot;) as file_out:&lt;br /&gt;
        file_out.write(str(rezultat[0]))&lt;br /&gt;
else:&lt;br /&gt;
    rezultate = find_number_with_property(N)&lt;br /&gt;
    with open(&amp;quot;cate3cifre.out&amp;quot;, &amp;quot;w&amp;quot;) as file_out:&lt;br /&gt;
        file_out.write(f&amp;quot;{rezultate[1]} {rezultate[3]}\n&amp;quot;)&lt;br /&gt;
        file_out.write(f&amp;quot;{rezultate[2]} {rezultate[3]}\n&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2973_-_Cate_3_Cifre&amp;diff=8634</id>
		<title>2973 - Cate 3 Cifre</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2973_-_Cate_3_Cifre&amp;diff=8634"/>
		<updated>2023-12-29T11:00:50Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Cerința */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Gigel, pasionat de numere, știe că orice număr natural se scrie într-o bază de numerație b ca o succesiune de simboluri care au asociate valori de la 0 la b-1. De exemplu numărul 7, scris în baza 10, se scrie în baza 2 ca 111(2), iar numărul 26732, scris în baza 10, se scrie în baza 37 ca o succesiune de 3 simboluri, primele două având asociată valoarea 19, iar ultimul având asociată valoarea 18. El a descoperit că există numere care au proprietatea că se scriu, în exact două baze diferite, prin exact trei simboluri identice. De exemplu, numărul 931(10) se scrie în baza 11 ca 777(11), iar în baza 30 se scrie 111(30).&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Fiind dat un număr natural N, să se determine cel mai mare număr natural mai mic sau egal cu N, care are proprietatea că se scrie în exact două baze diferite prin exact 3 simboluri identice.&lt;br /&gt;
1. Să se scrie numărul determinat&lt;br /&gt;
2. Să se scrie cele două baze determinate și valorile simbolurilor respective.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare cate3cifre.in conţine pe prima linie cerința (1 sau 2). Pe linia a doua a fișierului de intrare se află numărul natural N.&lt;br /&gt;
== Date de ieșire == &lt;br /&gt;
Fișierul de ieșire cate3cifre.out va conține pe prima linie, dacă cerința este 1, numărul determinat. Dacă cerința este 2, prima și cea de a doua linie a fișierului de ieșire au aceeași structură: pe fiecare linie se vor scrie, separate printr-un spațiu, două numere naturale b c, reprezentând baza și valoarea simbolului cerut din baza respectivă. Cele două baze se vor afișa în ordine crescătoare.&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
0 &amp;lt; N ≤ 1000000&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pentru rezolvarea corectă a cerinței 1 se acordă 60 de puncte. Pentru cerința 2, se acordă 30 de puncte. &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pentru 50 de puncte N ≤ 10000&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Numărul xyz(b) scris în baza b cu simbolurile x, y, z se scrie în baza 10 ca o valoare calculată astfel: x • b2 + y • b + z (unde simbolurile x, y, z se înlocuiesc cu valorile asociate)&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
Pentru fiecare test există soluție.&lt;br /&gt;
În concurs s-au acordat 10 puncte din oficiu. Aici se acordă pentru exemplele din enunț.&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: cate3cifre.in&lt;br /&gt;
:1&lt;br /&gt;
:1000&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: cate3cifre.out&lt;br /&gt;
:931 &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
: cate3cifre.in&lt;br /&gt;
:2&lt;br /&gt;
:1000&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele introduse corespund restricțiilor impuse.&lt;br /&gt;
: cate3cifre.out&lt;br /&gt;
:11 7&lt;br /&gt;
:30 1&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare == &lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#2973 - Cate 3 Cifre&lt;br /&gt;
def get_base_representation(num, base):&lt;br /&gt;
    result = &amp;quot;&amp;quot;&lt;br /&gt;
    while num &amp;gt; 0:&lt;br /&gt;
        digit = num % base&lt;br /&gt;
        result = str(digit) + result&lt;br /&gt;
        num //= base&lt;br /&gt;
    return result&lt;br /&gt;
&lt;br /&gt;
def find_number_with_property(N):&lt;br /&gt;
    for base1 in range(2, 10):&lt;br /&gt;
        for base2 in range(base1 + 1, 10):&lt;br /&gt;
            for digit in range(10):&lt;br /&gt;
                number = digit * base1**2 + digit * base1 + digit&lt;br /&gt;
                if number &amp;lt;= N and get_base_representation(number, base2) == str(digit) * 3:&lt;br /&gt;
                    return number, base1, base2, digit&lt;br /&gt;
&lt;br /&gt;
with open(&amp;quot;cate3cifre.in&amp;quot;, &amp;quot;r&amp;quot;) as file_in:&lt;br /&gt;
    cerinta = int(file_in.readline().strip())&lt;br /&gt;
    N = int(file_in.readline().strip())&lt;br /&gt;
&lt;br /&gt;
if cerinta == 1:&lt;br /&gt;
    rezultat = find_number_with_property(N)&lt;br /&gt;
    with open(&amp;quot;cate3cifre.out&amp;quot;, &amp;quot;w&amp;quot;) as file_out:&lt;br /&gt;
        file_out.write(str(rezultat[0]))&lt;br /&gt;
else:&lt;br /&gt;
    rezultate = find_number_with_property(N)&lt;br /&gt;
    with open(&amp;quot;cate3cifre.out&amp;quot;, &amp;quot;w&amp;quot;) as file_out:&lt;br /&gt;
        file_out.write(f&amp;quot;{rezultate[1]} {rezultate[3]}\n&amp;quot;)&lt;br /&gt;
        file_out.write(f&amp;quot;{rezultate[2]} {rezultate[3]}\n&amp;quot;)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2356_-_pinguini&amp;diff=8633</id>
		<title>2356 - pinguini</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2356_-_pinguini&amp;diff=8633"/>
		<updated>2023-12-29T09:33:19Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplul 3 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunț ==&lt;br /&gt;
În vecinătatea lui Moș Crăciun se află o fâșie liniară formată din N zone identice de gheață. Pe această fâșie trăiesc mai mulți pinguini. Din cauza încălzirii globale zonele de gheața pe care nu se aflau pinguini s-au topit și au rămas mai multe grupuri de pinguini izolate. Moș Crăciun dorește să salveze pinguinii, dar mai întâi trebuie sa afle răspunsul la câteva întrebări.&lt;br /&gt;
&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Cunoscând N, numărul zonelor din fâșia liniară și fiecare tip de zonă: apa (1), pinguin (2) să se determine:&amp;lt;br&amp;gt;&lt;br /&gt;
1) Câți pinguini trebuie să salveze Moș Crăciun;&amp;lt;br&amp;gt;&lt;br /&gt;
2) Câte grupuri izolate de pinguini sunt;&amp;lt;br&amp;gt;&lt;br /&gt;
3) Care este numărul maxim de pinguini care se află în același grup.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
În fișierul pinguiniin.txt se află pe prima linie c, un număr natural reprezentând cerința, pe a doua linie se află N, un număr natural reprezentând numărul de zone din fâșia liniară și pe următoarea linie se află N numere naturale a1, a2, …, an din mulțimea {1, 2} cu semnificația din enunț ( 1 – apă, 2 – pinguin).&lt;br /&gt;
&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
În fișierul pinguiniout.txt se va afla un singur număr natural K.&lt;br /&gt;
Dacă cerința c = 1, K va reprezenta numărul de pinguini ce trebuie salvați.&lt;br /&gt;
Dacă cerința c = 2, K va reprezenta numărul de grupuri izolate de pinguini.&lt;br /&gt;
Dacă cerința c = 3, K va reprezenta numărul maxim de pinguini care se află în același grup.&lt;br /&gt;
&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
* 1 &amp;amp;les; &#039;&#039;&#039;n, k&#039;&#039;&#039; &amp;amp;les; 10.000&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 1&lt;br /&gt;
: 12&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2&lt;br /&gt;
; pinguiniout.txt&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
: 8&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
c = 1. Numărul de pinguini ce trebuie salvați este 8.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 2&lt;br /&gt;
: 12&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2&lt;br /&gt;
; pinguiniout.txt&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
: 3&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
c = 2. Numărul de grupuri izolate este 3.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 3 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 3&lt;br /&gt;
: 12&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2&lt;br /&gt;
; pinguiniout.txt&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
: 4&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
c = 3. Numărul maxim de pinguini dintr-un grup este 4.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 4 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 2&lt;br /&gt;
: 10001&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2 ... &lt;br /&gt;
; Ieșire&lt;br /&gt;
Datele de intrare NU corespund restricțiilor impuse&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#2356 - Pinguini&lt;br /&gt;
&lt;br /&gt;
def validare_date(n, zone):&lt;br /&gt;
    if not (1 &amp;lt;= n &amp;lt;= 10000):&lt;br /&gt;
        return False&lt;br /&gt;
    if len(zone) != n or not all(x in {1, 2} for x in zone):&lt;br /&gt;
        return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def salvare_pinguini(n, zone):&lt;br /&gt;
    numar_pinguini = zone.count(2)&lt;br /&gt;
    return numar_pinguini&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def grupuri_izolate(n, zone):&lt;br /&gt;
    grupuri = 0&lt;br /&gt;
    i = 0&lt;br /&gt;
    while i &amp;lt; n:&lt;br /&gt;
        if zone[i] == 2:&lt;br /&gt;
            grupuri += 1&lt;br /&gt;
            while i &amp;lt; n and zone[i] == 2:&lt;br /&gt;
                i += 1&lt;br /&gt;
        else:&lt;br /&gt;
            i += 1&lt;br /&gt;
    return grupuri&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def max_pinguini_grup(n, zone):&lt;br /&gt;
    max_pinguini = 0&lt;br /&gt;
    pinguini_curenti = 0&lt;br /&gt;
    for zona in zone:&lt;br /&gt;
        if zona == 2:&lt;br /&gt;
            pinguini_curenti += 1&lt;br /&gt;
            max_pinguini = max(max_pinguini, pinguini_curenti)&lt;br /&gt;
        else:&lt;br /&gt;
            pinguini_curenti = 0&lt;br /&gt;
    return max_pinguini&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    with open(&amp;quot;pinguiniin.txt&amp;quot;, &amp;quot;r&amp;quot;) as f:&lt;br /&gt;
        cerinta = int(f.readline().strip())&lt;br /&gt;
        n = int(f.readline().strip())&lt;br /&gt;
        zone = list(map(int, f.readline().strip().split()))&lt;br /&gt;
&lt;br /&gt;
    rezultat = 0&lt;br /&gt;
    if not validare_date(n, zone):&lt;br /&gt;
        print(&amp;quot;Datele de intrare NU corespund restricțiilor impuse&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele de intrare corespund restricțiilor impuse&amp;quot;)&lt;br /&gt;
        if cerinta == 1:&lt;br /&gt;
            rezultat = salvare_pinguini(n, zone)&lt;br /&gt;
        elif cerinta == 2:&lt;br /&gt;
            rezultat = grupuri_izolate(n, zone)&lt;br /&gt;
        elif cerinta == 3:&lt;br /&gt;
            rezultat = max_pinguini_grup(n, zone)&lt;br /&gt;
&lt;br /&gt;
        with open(&amp;quot;pinguiniout.txt&amp;quot;, &amp;quot;w&amp;quot;) as f_out:&lt;br /&gt;
            f_out.write(str(rezultat))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2356_-_pinguini&amp;diff=8632</id>
		<title>2356 - pinguini</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2356_-_pinguini&amp;diff=8632"/>
		<updated>2023-12-29T09:32:59Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplul 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunț ==&lt;br /&gt;
În vecinătatea lui Moș Crăciun se află o fâșie liniară formată din N zone identice de gheață. Pe această fâșie trăiesc mai mulți pinguini. Din cauza încălzirii globale zonele de gheața pe care nu se aflau pinguini s-au topit și au rămas mai multe grupuri de pinguini izolate. Moș Crăciun dorește să salveze pinguinii, dar mai întâi trebuie sa afle răspunsul la câteva întrebări.&lt;br /&gt;
&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Cunoscând N, numărul zonelor din fâșia liniară și fiecare tip de zonă: apa (1), pinguin (2) să se determine:&amp;lt;br&amp;gt;&lt;br /&gt;
1) Câți pinguini trebuie să salveze Moș Crăciun;&amp;lt;br&amp;gt;&lt;br /&gt;
2) Câte grupuri izolate de pinguini sunt;&amp;lt;br&amp;gt;&lt;br /&gt;
3) Care este numărul maxim de pinguini care se află în același grup.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
În fișierul pinguiniin.txt se află pe prima linie c, un număr natural reprezentând cerința, pe a doua linie se află N, un număr natural reprezentând numărul de zone din fâșia liniară și pe următoarea linie se află N numere naturale a1, a2, …, an din mulțimea {1, 2} cu semnificația din enunț ( 1 – apă, 2 – pinguin).&lt;br /&gt;
&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
În fișierul pinguiniout.txt se va afla un singur număr natural K.&lt;br /&gt;
Dacă cerința c = 1, K va reprezenta numărul de pinguini ce trebuie salvați.&lt;br /&gt;
Dacă cerința c = 2, K va reprezenta numărul de grupuri izolate de pinguini.&lt;br /&gt;
Dacă cerința c = 3, K va reprezenta numărul maxim de pinguini care se află în același grup.&lt;br /&gt;
&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
* 1 &amp;amp;les; &#039;&#039;&#039;n, k&#039;&#039;&#039; &amp;amp;les; 10.000&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 1&lt;br /&gt;
: 12&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2&lt;br /&gt;
; pinguiniout.txt&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
: 8&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
c = 1. Numărul de pinguini ce trebuie salvați este 8.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 2&lt;br /&gt;
: 12&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2&lt;br /&gt;
; pinguiniout.txt&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
: 3&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
c = 2. Numărul de grupuri izolate este 3.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 3 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 3&lt;br /&gt;
: 12&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
; pinguiniout.txt&lt;br /&gt;
: 4&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
c = 3. Numărul maxim de pinguini dintr-un grup este 4.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 4 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 2&lt;br /&gt;
: 10001&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2 ... &lt;br /&gt;
; Ieșire&lt;br /&gt;
Datele de intrare NU corespund restricțiilor impuse&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#2356 - Pinguini&lt;br /&gt;
&lt;br /&gt;
def validare_date(n, zone):&lt;br /&gt;
    if not (1 &amp;lt;= n &amp;lt;= 10000):&lt;br /&gt;
        return False&lt;br /&gt;
    if len(zone) != n or not all(x in {1, 2} for x in zone):&lt;br /&gt;
        return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def salvare_pinguini(n, zone):&lt;br /&gt;
    numar_pinguini = zone.count(2)&lt;br /&gt;
    return numar_pinguini&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def grupuri_izolate(n, zone):&lt;br /&gt;
    grupuri = 0&lt;br /&gt;
    i = 0&lt;br /&gt;
    while i &amp;lt; n:&lt;br /&gt;
        if zone[i] == 2:&lt;br /&gt;
            grupuri += 1&lt;br /&gt;
            while i &amp;lt; n and zone[i] == 2:&lt;br /&gt;
                i += 1&lt;br /&gt;
        else:&lt;br /&gt;
            i += 1&lt;br /&gt;
    return grupuri&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def max_pinguini_grup(n, zone):&lt;br /&gt;
    max_pinguini = 0&lt;br /&gt;
    pinguini_curenti = 0&lt;br /&gt;
    for zona in zone:&lt;br /&gt;
        if zona == 2:&lt;br /&gt;
            pinguini_curenti += 1&lt;br /&gt;
            max_pinguini = max(max_pinguini, pinguini_curenti)&lt;br /&gt;
        else:&lt;br /&gt;
            pinguini_curenti = 0&lt;br /&gt;
    return max_pinguini&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    with open(&amp;quot;pinguiniin.txt&amp;quot;, &amp;quot;r&amp;quot;) as f:&lt;br /&gt;
        cerinta = int(f.readline().strip())&lt;br /&gt;
        n = int(f.readline().strip())&lt;br /&gt;
        zone = list(map(int, f.readline().strip().split()))&lt;br /&gt;
&lt;br /&gt;
    rezultat = 0&lt;br /&gt;
    if not validare_date(n, zone):&lt;br /&gt;
        print(&amp;quot;Datele de intrare NU corespund restricțiilor impuse&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele de intrare corespund restricțiilor impuse&amp;quot;)&lt;br /&gt;
        if cerinta == 1:&lt;br /&gt;
            rezultat = salvare_pinguini(n, zone)&lt;br /&gt;
        elif cerinta == 2:&lt;br /&gt;
            rezultat = grupuri_izolate(n, zone)&lt;br /&gt;
        elif cerinta == 3:&lt;br /&gt;
            rezultat = max_pinguini_grup(n, zone)&lt;br /&gt;
&lt;br /&gt;
        with open(&amp;quot;pinguiniout.txt&amp;quot;, &amp;quot;w&amp;quot;) as f_out:&lt;br /&gt;
            f_out.write(str(rezultat))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2356_-_pinguini&amp;diff=8631</id>
		<title>2356 - pinguini</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2356_-_pinguini&amp;diff=8631"/>
		<updated>2023-12-29T09:32:34Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplul 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunț ==&lt;br /&gt;
În vecinătatea lui Moș Crăciun se află o fâșie liniară formată din N zone identice de gheață. Pe această fâșie trăiesc mai mulți pinguini. Din cauza încălzirii globale zonele de gheața pe care nu se aflau pinguini s-au topit și au rămas mai multe grupuri de pinguini izolate. Moș Crăciun dorește să salveze pinguinii, dar mai întâi trebuie sa afle răspunsul la câteva întrebări.&lt;br /&gt;
&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Cunoscând N, numărul zonelor din fâșia liniară și fiecare tip de zonă: apa (1), pinguin (2) să se determine:&amp;lt;br&amp;gt;&lt;br /&gt;
1) Câți pinguini trebuie să salveze Moș Crăciun;&amp;lt;br&amp;gt;&lt;br /&gt;
2) Câte grupuri izolate de pinguini sunt;&amp;lt;br&amp;gt;&lt;br /&gt;
3) Care este numărul maxim de pinguini care se află în același grup.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
În fișierul pinguiniin.txt se află pe prima linie c, un număr natural reprezentând cerința, pe a doua linie se află N, un număr natural reprezentând numărul de zone din fâșia liniară și pe următoarea linie se află N numere naturale a1, a2, …, an din mulțimea {1, 2} cu semnificația din enunț ( 1 – apă, 2 – pinguin).&lt;br /&gt;
&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
În fișierul pinguiniout.txt se va afla un singur număr natural K.&lt;br /&gt;
Dacă cerința c = 1, K va reprezenta numărul de pinguini ce trebuie salvați.&lt;br /&gt;
Dacă cerința c = 2, K va reprezenta numărul de grupuri izolate de pinguini.&lt;br /&gt;
Dacă cerința c = 3, K va reprezenta numărul maxim de pinguini care se află în același grup.&lt;br /&gt;
&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
* 1 &amp;amp;les; &#039;&#039;&#039;n, k&#039;&#039;&#039; &amp;amp;les; 10.000&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 1&lt;br /&gt;
: 12&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2&lt;br /&gt;
; pinguiniout.txt&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
: 8&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
c = 1. Numărul de pinguini ce trebuie salvați este 8.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 2&lt;br /&gt;
: 12&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
; pinguiniout.txt&lt;br /&gt;
: 3&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
c = 2. Numărul de grupuri izolate este 3.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 3 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 3&lt;br /&gt;
: 12&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
; pinguiniout.txt&lt;br /&gt;
: 4&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
c = 3. Numărul maxim de pinguini dintr-un grup este 4.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 4 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 2&lt;br /&gt;
: 10001&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2 ... &lt;br /&gt;
; Ieșire&lt;br /&gt;
Datele de intrare NU corespund restricțiilor impuse&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#2356 - Pinguini&lt;br /&gt;
&lt;br /&gt;
def validare_date(n, zone):&lt;br /&gt;
    if not (1 &amp;lt;= n &amp;lt;= 10000):&lt;br /&gt;
        return False&lt;br /&gt;
    if len(zone) != n or not all(x in {1, 2} for x in zone):&lt;br /&gt;
        return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def salvare_pinguini(n, zone):&lt;br /&gt;
    numar_pinguini = zone.count(2)&lt;br /&gt;
    return numar_pinguini&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def grupuri_izolate(n, zone):&lt;br /&gt;
    grupuri = 0&lt;br /&gt;
    i = 0&lt;br /&gt;
    while i &amp;lt; n:&lt;br /&gt;
        if zone[i] == 2:&lt;br /&gt;
            grupuri += 1&lt;br /&gt;
            while i &amp;lt; n and zone[i] == 2:&lt;br /&gt;
                i += 1&lt;br /&gt;
        else:&lt;br /&gt;
            i += 1&lt;br /&gt;
    return grupuri&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def max_pinguini_grup(n, zone):&lt;br /&gt;
    max_pinguini = 0&lt;br /&gt;
    pinguini_curenti = 0&lt;br /&gt;
    for zona in zone:&lt;br /&gt;
        if zona == 2:&lt;br /&gt;
            pinguini_curenti += 1&lt;br /&gt;
            max_pinguini = max(max_pinguini, pinguini_curenti)&lt;br /&gt;
        else:&lt;br /&gt;
            pinguini_curenti = 0&lt;br /&gt;
    return max_pinguini&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    with open(&amp;quot;pinguiniin.txt&amp;quot;, &amp;quot;r&amp;quot;) as f:&lt;br /&gt;
        cerinta = int(f.readline().strip())&lt;br /&gt;
        n = int(f.readline().strip())&lt;br /&gt;
        zone = list(map(int, f.readline().strip().split()))&lt;br /&gt;
&lt;br /&gt;
    rezultat = 0&lt;br /&gt;
    if not validare_date(n, zone):&lt;br /&gt;
        print(&amp;quot;Datele de intrare NU corespund restricțiilor impuse&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele de intrare corespund restricțiilor impuse&amp;quot;)&lt;br /&gt;
        if cerinta == 1:&lt;br /&gt;
            rezultat = salvare_pinguini(n, zone)&lt;br /&gt;
        elif cerinta == 2:&lt;br /&gt;
            rezultat = grupuri_izolate(n, zone)&lt;br /&gt;
        elif cerinta == 3:&lt;br /&gt;
            rezultat = max_pinguini_grup(n, zone)&lt;br /&gt;
&lt;br /&gt;
        with open(&amp;quot;pinguiniout.txt&amp;quot;, &amp;quot;w&amp;quot;) as f_out:&lt;br /&gt;
            f_out.write(str(rezultat))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2356_-_pinguini&amp;diff=8630</id>
		<title>2356 - pinguini</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2356_-_pinguini&amp;diff=8630"/>
		<updated>2023-12-29T09:32:07Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Cerința */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunț ==&lt;br /&gt;
În vecinătatea lui Moș Crăciun se află o fâșie liniară formată din N zone identice de gheață. Pe această fâșie trăiesc mai mulți pinguini. Din cauza încălzirii globale zonele de gheața pe care nu se aflau pinguini s-au topit și au rămas mai multe grupuri de pinguini izolate. Moș Crăciun dorește să salveze pinguinii, dar mai întâi trebuie sa afle răspunsul la câteva întrebări.&lt;br /&gt;
&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Cunoscând N, numărul zonelor din fâșia liniară și fiecare tip de zonă: apa (1), pinguin (2) să se determine:&amp;lt;br&amp;gt;&lt;br /&gt;
1) Câți pinguini trebuie să salveze Moș Crăciun;&amp;lt;br&amp;gt;&lt;br /&gt;
2) Câte grupuri izolate de pinguini sunt;&amp;lt;br&amp;gt;&lt;br /&gt;
3) Care este numărul maxim de pinguini care se află în același grup.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
În fișierul pinguiniin.txt se află pe prima linie c, un număr natural reprezentând cerința, pe a doua linie se află N, un număr natural reprezentând numărul de zone din fâșia liniară și pe următoarea linie se află N numere naturale a1, a2, …, an din mulțimea {1, 2} cu semnificația din enunț ( 1 – apă, 2 – pinguin).&lt;br /&gt;
&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
În fișierul pinguiniout.txt se va afla un singur număr natural K.&lt;br /&gt;
Dacă cerința c = 1, K va reprezenta numărul de pinguini ce trebuie salvați.&lt;br /&gt;
Dacă cerința c = 2, K va reprezenta numărul de grupuri izolate de pinguini.&lt;br /&gt;
Dacă cerința c = 3, K va reprezenta numărul maxim de pinguini care se află în același grup.&lt;br /&gt;
&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
* 1 &amp;amp;les; &#039;&#039;&#039;n, k&#039;&#039;&#039; &amp;amp;les; 10.000&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 1&lt;br /&gt;
: 12&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
; pinguiniout.txt&lt;br /&gt;
: 8&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
c = 1. Numărul de pinguini ce trebuie salvați este 8.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 2&lt;br /&gt;
: 12&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
; pinguiniout.txt&lt;br /&gt;
: 3&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
c = 2. Numărul de grupuri izolate este 3.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 3 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 3&lt;br /&gt;
: 12&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
; pinguiniout.txt&lt;br /&gt;
: 4&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
c = 3. Numărul maxim de pinguini dintr-un grup este 4.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 4 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; pinguiniin.txt&lt;br /&gt;
: 2&lt;br /&gt;
: 10001&lt;br /&gt;
: 1 2 1 2 2 2 2 1 1 2 2 2 ... &lt;br /&gt;
; Ieșire&lt;br /&gt;
Datele de intrare NU corespund restricțiilor impuse&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#2356 - Pinguini&lt;br /&gt;
&lt;br /&gt;
def validare_date(n, zone):&lt;br /&gt;
    if not (1 &amp;lt;= n &amp;lt;= 10000):&lt;br /&gt;
        return False&lt;br /&gt;
    if len(zone) != n or not all(x in {1, 2} for x in zone):&lt;br /&gt;
        return False&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def salvare_pinguini(n, zone):&lt;br /&gt;
    numar_pinguini = zone.count(2)&lt;br /&gt;
    return numar_pinguini&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def grupuri_izolate(n, zone):&lt;br /&gt;
    grupuri = 0&lt;br /&gt;
    i = 0&lt;br /&gt;
    while i &amp;lt; n:&lt;br /&gt;
        if zone[i] == 2:&lt;br /&gt;
            grupuri += 1&lt;br /&gt;
            while i &amp;lt; n and zone[i] == 2:&lt;br /&gt;
                i += 1&lt;br /&gt;
        else:&lt;br /&gt;
            i += 1&lt;br /&gt;
    return grupuri&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def max_pinguini_grup(n, zone):&lt;br /&gt;
    max_pinguini = 0&lt;br /&gt;
    pinguini_curenti = 0&lt;br /&gt;
    for zona in zone:&lt;br /&gt;
        if zona == 2:&lt;br /&gt;
            pinguini_curenti += 1&lt;br /&gt;
            max_pinguini = max(max_pinguini, pinguini_curenti)&lt;br /&gt;
        else:&lt;br /&gt;
            pinguini_curenti = 0&lt;br /&gt;
    return max_pinguini&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    with open(&amp;quot;pinguiniin.txt&amp;quot;, &amp;quot;r&amp;quot;) as f:&lt;br /&gt;
        cerinta = int(f.readline().strip())&lt;br /&gt;
        n = int(f.readline().strip())&lt;br /&gt;
        zone = list(map(int, f.readline().strip().split()))&lt;br /&gt;
&lt;br /&gt;
    rezultat = 0&lt;br /&gt;
    if not validare_date(n, zone):&lt;br /&gt;
        print(&amp;quot;Datele de intrare NU corespund restricțiilor impuse&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot;Datele de intrare corespund restricțiilor impuse&amp;quot;)&lt;br /&gt;
        if cerinta == 1:&lt;br /&gt;
            rezultat = salvare_pinguini(n, zone)&lt;br /&gt;
        elif cerinta == 2:&lt;br /&gt;
            rezultat = grupuri_izolate(n, zone)&lt;br /&gt;
        elif cerinta == 3:&lt;br /&gt;
            rezultat = max_pinguini_grup(n, zone)&lt;br /&gt;
&lt;br /&gt;
        with open(&amp;quot;pinguiniout.txt&amp;quot;, &amp;quot;w&amp;quot;) as f_out:&lt;br /&gt;
            f_out.write(str(rezultat))&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2183_-_betisoare1&amp;diff=8629</id>
		<title>2183 - betisoare1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2183_-_betisoare1&amp;diff=8629"/>
		<updated>2023-12-29T09:28:36Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplul 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunț ==&lt;br /&gt;
Radu are o grămadă de bețișoare de două mărimi diferite. Cele cu mărime mai mică sunt marcate cu 0 și vom spune că sunt de tipul 0, iar celelalte sunt marcate cu 1 și vom spune că sunt de tipul 1. Grămada are N bețișoare, N număr natural. Radu se gândește să așeze pe un singur rând toate bețișoarele din grămadă, unul după altul, astfel încât bețișoarele formează secvențe de cifre 0 și 1. Apoi își propune să determine numărul total de secvențe care conțin un număr maxim de bețișoare de aceeași mărime.&lt;br /&gt;
&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Scrieți un program care să citească numărul natural N și mărcile bețișoarelor, iar apoi să determine secvențele ce conțin un număr maxim de bețișoare de același tip.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare betisoare1in.txt conține pe prima linie numărul natural N reprezentând numărul de bețișoare din grămadă, iar pe linia următoare cele N mărci ale bețișoarelor b[1], b[2],…, b[N] fără spații.&lt;br /&gt;
&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fișierul de ieșire betisoare1out.txt va conține pe prima linie marca secvenței de bețișoare cu lungimea maximă, urmată de spațiu și apoi numărul maxim de bețișoare din secvența. Pe rândul următor se va afișa numărul de secvențe cu proprietatea cerută. Dacă există secvențe cu același număr maxim de bețișoare de tipul 0 și 1, se va afișa secvența de tipul 1.&lt;br /&gt;
&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
* 1 &amp;amp;les; &#039;&#039;&#039;N&#039;&#039;&#039; &amp;amp;les; 1000&lt;br /&gt;
* 0 &amp;amp;les; &#039;&#039;&#039;b[i]&#039;&#039;&#039; &amp;amp;les; 1, (1 &amp;amp;les; &#039;&#039;&#039;i&#039;&#039;&#039; &amp;amp;les; N)&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; betisoare1in.txt&lt;br /&gt;
: 10&lt;br /&gt;
: 0100011000&lt;br /&gt;
; betisoare1out.txt&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
: 0 3&lt;br /&gt;
: 2&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
Secvența cea mai lungă cu bețișoare având aceeași marcă, este secvența formată cu bețișoare de tipul 0. Numărul maxim de bețișoare din secvență este 3. Există două asemenea secvențe.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; betisoare1in.txt&lt;br /&gt;
: 2&lt;br /&gt;
: 02&lt;br /&gt;
; betisoare1out.txt&lt;br /&gt;
: Marca fiecarui betisor trebuie sa fie 0 sau 1.&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#2183 - betisoare1&lt;br /&gt;
def validare_date_intrare(N, betisoare):&lt;br /&gt;
    if not (1 &amp;lt;= N &amp;lt;= 1000):&lt;br /&gt;
        print(&amp;quot;Numarul de betisoare trebuie sa fie intre 1 si 1000.&amp;quot;)&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
    if not all(0 &amp;lt;= b &amp;lt;= 1 for b in betisoare):&lt;br /&gt;
        print(&amp;quot;Marca fiecarui betisor trebuie sa fie 0 sau 1.&amp;quot;)&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def secvente_maxime(N, betisoare):&lt;br /&gt;
    secventa_maxima = {&amp;quot;marca&amp;quot;: -1, &amp;quot;lungime&amp;quot;: 0}&lt;br /&gt;
    numar_secvente_maxime = 0&lt;br /&gt;
&lt;br /&gt;
    marca_curenta = betisoare[0]&lt;br /&gt;
    lungime_curenta = 1&lt;br /&gt;
&lt;br /&gt;
    for i in range(1, N):&lt;br /&gt;
        if betisoare[i] == marca_curenta:&lt;br /&gt;
            lungime_curenta += 1&lt;br /&gt;
        else:&lt;br /&gt;
            if lungime_curenta &amp;gt; secventa_maxima[&amp;quot;lungime&amp;quot;]:&lt;br /&gt;
                secventa_maxima[&amp;quot;lungime&amp;quot;] = lungime_curenta&lt;br /&gt;
                secventa_maxima[&amp;quot;marca&amp;quot;] = marca_curenta&lt;br /&gt;
                numar_secvente_maxime = 1&lt;br /&gt;
            elif lungime_curenta == secventa_maxima[&amp;quot;lungime&amp;quot;]:&lt;br /&gt;
                numar_secvente_maxime += 1&lt;br /&gt;
&lt;br /&gt;
            marca_curenta = betisoare[i]&lt;br /&gt;
            lungime_curenta = 1&lt;br /&gt;
&lt;br /&gt;
    if lungime_curenta &amp;gt; secventa_maxima[&amp;quot;lungime&amp;quot;]:&lt;br /&gt;
        secventa_maxima[&amp;quot;lungime&amp;quot;] = lungime_curenta&lt;br /&gt;
        secventa_maxima[&amp;quot;marca&amp;quot;] = marca_curenta&lt;br /&gt;
        numar_secvente_maxime = 1&lt;br /&gt;
    elif lungime_curenta == secventa_maxima[&amp;quot;lungime&amp;quot;]:&lt;br /&gt;
        numar_secvente_maxime += 1&lt;br /&gt;
&lt;br /&gt;
    return secventa_maxima, numar_secvente_maxime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    with open(&amp;quot;betisoare1in.txt&amp;quot;, &amp;quot;r&amp;quot;) as f:&lt;br /&gt;
        N = int(f.readline().strip())&lt;br /&gt;
        betisoare = list(map(int, f.readline().strip()))&lt;br /&gt;
&lt;br /&gt;
    if not validare_date_intrare(N, betisoare):&lt;br /&gt;
        return&lt;br /&gt;
    if validare_date_intrare(N, betisoare):&lt;br /&gt;
        print(&amp;quot;Datele de intrare corespund restricțiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    secventa_maxima, numar_secvente_maxime = secvente_maxime(N, betisoare)&lt;br /&gt;
&lt;br /&gt;
    with open(&amp;quot;betisoare1out.txt&amp;quot;, &amp;quot;w&amp;quot;) as g:&lt;br /&gt;
        g.write(f&amp;quot;{secventa_maxima[&#039;marca&#039;]} {secventa_maxima[&#039;lungime&#039;]}\n&amp;quot;)&lt;br /&gt;
        g.write(str(numar_secvente_maxime))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2183_-_betisoare1&amp;diff=8628</id>
		<title>2183 - betisoare1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2183_-_betisoare1&amp;diff=8628"/>
		<updated>2023-12-29T09:26:17Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplul 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Enunț ==&lt;br /&gt;
Radu are o grămadă de bețișoare de două mărimi diferite. Cele cu mărime mai mică sunt marcate cu 0 și vom spune că sunt de tipul 0, iar celelalte sunt marcate cu 1 și vom spune că sunt de tipul 1. Grămada are N bețișoare, N număr natural. Radu se gândește să așeze pe un singur rând toate bețișoarele din grămadă, unul după altul, astfel încât bețișoarele formează secvențe de cifre 0 și 1. Apoi își propune să determine numărul total de secvențe care conțin un număr maxim de bețișoare de aceeași mărime.&lt;br /&gt;
&lt;br /&gt;
== Cerința ==&lt;br /&gt;
Scrieți un program care să citească numărul natural N și mărcile bețișoarelor, iar apoi să determine secvențele ce conțin un număr maxim de bețișoare de același tip.&lt;br /&gt;
&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare betisoare1in.txt conține pe prima linie numărul natural N reprezentând numărul de bețișoare din grămadă, iar pe linia următoare cele N mărci ale bețișoarelor b[1], b[2],…, b[N] fără spații.&lt;br /&gt;
&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fișierul de ieșire betisoare1out.txt va conține pe prima linie marca secvenței de bețișoare cu lungimea maximă, urmată de spațiu și apoi numărul maxim de bețișoare din secvența. Pe rândul următor se va afișa numărul de secvențe cu proprietatea cerută. Dacă există secvențe cu același număr maxim de bețișoare de tipul 0 și 1, se va afișa secvența de tipul 1.&lt;br /&gt;
&lt;br /&gt;
== Restricții și precizări ==&lt;br /&gt;
* 1 &amp;amp;les; &#039;&#039;&#039;N&#039;&#039;&#039; &amp;amp;les; 1000&lt;br /&gt;
* 0 &amp;amp;les; &#039;&#039;&#039;b[i]&#039;&#039;&#039; &amp;amp;les; 1, (1 &amp;amp;les; &#039;&#039;&#039;i&#039;&#039;&#039; &amp;amp;les; N)&lt;br /&gt;
&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; betisoare1in.txt&lt;br /&gt;
: 10&lt;br /&gt;
: 0100011000&lt;br /&gt;
; betisoare1out.txt&lt;br /&gt;
: Datele de intrare corespund restricțiilor impuse&lt;br /&gt;
: 0 3&lt;br /&gt;
: 2&lt;br /&gt;
&lt;br /&gt;
=== Explicație ===&lt;br /&gt;
Secvența cea mai lungă cu bețișoare având aceeași marcă, este secvența formată cu bețișoare de tipul 0. Numărul maxim de bețișoare din secvență este 3. Există două asemenea secvențe.&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
; betisoare1in.txt&lt;br /&gt;
: 2&lt;br /&gt;
: 02&lt;br /&gt;
; Ieșire&lt;br /&gt;
: Marca fiecarui betisor trebuie sa fie 0 sau 1.&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
#2183 - betisoare1&lt;br /&gt;
def validare_date_intrare(N, betisoare):&lt;br /&gt;
    if not (1 &amp;lt;= N &amp;lt;= 1000):&lt;br /&gt;
        print(&amp;quot;Numarul de betisoare trebuie sa fie intre 1 si 1000.&amp;quot;)&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
    if not all(0 &amp;lt;= b &amp;lt;= 1 for b in betisoare):&lt;br /&gt;
        print(&amp;quot;Marca fiecarui betisor trebuie sa fie 0 sau 1.&amp;quot;)&lt;br /&gt;
        return False&lt;br /&gt;
&lt;br /&gt;
    return True&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def secvente_maxime(N, betisoare):&lt;br /&gt;
    secventa_maxima = {&amp;quot;marca&amp;quot;: -1, &amp;quot;lungime&amp;quot;: 0}&lt;br /&gt;
    numar_secvente_maxime = 0&lt;br /&gt;
&lt;br /&gt;
    marca_curenta = betisoare[0]&lt;br /&gt;
    lungime_curenta = 1&lt;br /&gt;
&lt;br /&gt;
    for i in range(1, N):&lt;br /&gt;
        if betisoare[i] == marca_curenta:&lt;br /&gt;
            lungime_curenta += 1&lt;br /&gt;
        else:&lt;br /&gt;
            if lungime_curenta &amp;gt; secventa_maxima[&amp;quot;lungime&amp;quot;]:&lt;br /&gt;
                secventa_maxima[&amp;quot;lungime&amp;quot;] = lungime_curenta&lt;br /&gt;
                secventa_maxima[&amp;quot;marca&amp;quot;] = marca_curenta&lt;br /&gt;
                numar_secvente_maxime = 1&lt;br /&gt;
            elif lungime_curenta == secventa_maxima[&amp;quot;lungime&amp;quot;]:&lt;br /&gt;
                numar_secvente_maxime += 1&lt;br /&gt;
&lt;br /&gt;
            marca_curenta = betisoare[i]&lt;br /&gt;
            lungime_curenta = 1&lt;br /&gt;
&lt;br /&gt;
    if lungime_curenta &amp;gt; secventa_maxima[&amp;quot;lungime&amp;quot;]:&lt;br /&gt;
        secventa_maxima[&amp;quot;lungime&amp;quot;] = lungime_curenta&lt;br /&gt;
        secventa_maxima[&amp;quot;marca&amp;quot;] = marca_curenta&lt;br /&gt;
        numar_secvente_maxime = 1&lt;br /&gt;
    elif lungime_curenta == secventa_maxima[&amp;quot;lungime&amp;quot;]:&lt;br /&gt;
        numar_secvente_maxime += 1&lt;br /&gt;
&lt;br /&gt;
    return secventa_maxima, numar_secvente_maxime&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    with open(&amp;quot;betisoare1in.txt&amp;quot;, &amp;quot;r&amp;quot;) as f:&lt;br /&gt;
        N = int(f.readline().strip())&lt;br /&gt;
        betisoare = list(map(int, f.readline().strip()))&lt;br /&gt;
&lt;br /&gt;
    if not validare_date_intrare(N, betisoare):&lt;br /&gt;
        return&lt;br /&gt;
    if validare_date_intrare(N, betisoare):&lt;br /&gt;
        print(&amp;quot;Datele de intrare corespund restricțiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    secventa_maxima, numar_secvente_maxime = secvente_maxime(N, betisoare)&lt;br /&gt;
&lt;br /&gt;
    with open(&amp;quot;betisoare1out.txt&amp;quot;, &amp;quot;w&amp;quot;) as g:&lt;br /&gt;
        g.write(f&amp;quot;{secventa_maxima[&#039;marca&#039;]} {secventa_maxima[&#039;lungime&#039;]}\n&amp;quot;)&lt;br /&gt;
        g.write(str(numar_secvente_maxime))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0887_-_Nr_Anagrame&amp;diff=8375</id>
		<title>0887 - Nr Anagrame</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0887_-_Nr_Anagrame&amp;diff=8375"/>
		<updated>2023-12-25T18:26:40Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dă un şir de caractere ce conţine cuvinte formate din litere mici ale alfabetului englez, separate prin unul sau mai multe spații. Să se determine câte cuvinte din sir sunt anagrame ale ultimului cuvânt, fără a fi identice cu acesta&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul va citi de la tastatură şirul dat.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afişa pe ecran un număr &#039;&#039;&#039;C&#039;&#039;&#039;, reprezentând valoarea cerută.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* șirul dat va conține cel mult 255 caractere, litere mici ale alfabetului englez și spații&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 arc ingrat din granit car argint arc rating rac argint&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 3&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 ARC ingrat din granit car argint arc rating rac argint&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirului de la tastatură&lt;br /&gt;
    sir = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirul respectă restricțiile&lt;br /&gt;
    if len(sir) &amp;gt; 255 or not all(c.islower() or c.isspace() for c in sir):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Separarea șirului în cuvinte&lt;br /&gt;
    cuvinte = sir.split()&lt;br /&gt;
&lt;br /&gt;
    # Obținerea ultimului cuvânt și a anagramei sale&lt;br /&gt;
    ultimul_cuvant = cuvinte[-1]&lt;br /&gt;
    anagrama = sorted(ultimul_cuvant)&lt;br /&gt;
&lt;br /&gt;
    # Calcularea numărului de cuvinte care sunt anagrame ale ultimului cuvânt, dar nu sunt identice cu acesta&lt;br /&gt;
    numar_cuvinte = sum(sorted(cuvant) == anagrama and cuvant != ultimul_cuvant for cuvant in cuvinte[:-1])&lt;br /&gt;
&lt;br /&gt;
    # Afișarea numărului de cuvinte&lt;br /&gt;
    print(numar_cuvinte)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0887_-_Nr_Anagrame&amp;diff=8374</id>
		<title>0887 - Nr Anagrame</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0887_-_Nr_Anagrame&amp;diff=8374"/>
		<updated>2023-12-25T18:26:30Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dă un şir de caractere ce conţine cuvinte formate din litere mici ale alfabetului englez, separate prin unul sau mai multe spații. Să se determine câte cuvinte din sir sunt anagrame ale ultimului cuvânt, fără a fi identice cu acesta&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul va citi de la tastatură şirul dat.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afişa pe ecran un număr &#039;&#039;&#039;C&#039;&#039;&#039;, reprezentând valoarea cerută.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* șirul dat va conține cel mult 255 caractere, litere mici ale alfabetului englez și spații&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 arc ingrat din granit car argint arc rating rac argint&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 3&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 ARC ingrat din granit car argint arc rating rac argint&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirului de la tastatură&lt;br /&gt;
    sir = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirul respectă restricțiile&lt;br /&gt;
    if len(sir) &amp;gt; 255 or not all(c.islower() or c.isspace() for c in sir):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Separarea șirului în cuvinte&lt;br /&gt;
    cuvinte = sir.split()&lt;br /&gt;
&lt;br /&gt;
    # Obținerea ultimului cuvânt și a anagramei sale&lt;br /&gt;
    ultimul_cuvant = cuvinte[-1]&lt;br /&gt;
    anagrama = sorted(ultimul_cuvant)&lt;br /&gt;
&lt;br /&gt;
    # Calcularea numărului de cuvinte care sunt anagrame ale ultimului cuvânt, dar nu sunt identice cu acesta&lt;br /&gt;
    numar_cuvinte = sum(sorted(cuvant) == anagrama and cuvant != ultimul_cuvant for cuvant in cuvinte[:-1])&lt;br /&gt;
&lt;br /&gt;
    # Afișarea numărului de cuvinte&lt;br /&gt;
    print(numar_cuvinte)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2592_-_Afis_Simetric&amp;diff=8373</id>
		<title>2592 - Afis Simetric</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2592_-_Afis_Simetric&amp;diff=8373"/>
		<updated>2023-12-25T18:24:40Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dau &#039;&#039;&#039;n&#039;&#039;&#039; șiruri de caractere care conțin cuvinte formate doar din litere mici și mari ale alfabetului englez, separate prin câte un singur spațiu.&lt;br /&gt;
&lt;br /&gt;
Să se afișeze un nou șir format din primul cuvânt al fiecărui șir în ordinea citirii, al doilea cuvânt al fiecărui șir în ordinea citirii, etc. Dacă șirurile nu au același număr de cuvinte, se continuă acest proces, până când fiecare șir ajunge la final, tot în ordinea citirii.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Se citește de la tastatură pe prima linie numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar pe următoarele &#039;&#039;&#039;n&#039;&#039;&#039; linii cele &#039;&#039;&#039;n&#039;&#039;&#039; șiruri de caractere.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran șirul rezultat conform cerinței.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* 1 &amp;amp;les; n &amp;amp;les; 10&lt;br /&gt;
* fiecare șir are maximum &#039;&#039;&#039;1000&#039;&#039;&#039; de caractere&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 3&lt;br /&gt;
 ana are mere&lt;br /&gt;
 el are&lt;br /&gt;
 ea are pere prune&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 ana el ea are are are mere pere prune&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 -1&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea numărului de șiruri de la tastatură&lt;br /&gt;
    n = int(input().strip())&lt;br /&gt;
&lt;br /&gt;
    # Verificarea dacă numărul de șiruri respectă restricțiile&lt;br /&gt;
    if not 1 &amp;lt;= n &amp;lt;= 10:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    # Citirea șirurilor de la tastatură și separarea lor în cuvinte&lt;br /&gt;
    siruri = [input().strip().split() for _ in range(n)]&lt;br /&gt;
&lt;br /&gt;
    # Verificarea dacă șirurile respectă restricțiile&lt;br /&gt;
    if any(len(sir) &amp;gt; 1000 or not all(cuvant.isalpha() for cuvant in sir) for sir in siruri):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Crearea unui nou șir format din cuvintele fiecărui șir în ordinea citirii&lt;br /&gt;
    sir_nou = []&lt;br /&gt;
    for i in range(max(len(sir) for sir in siruri)):&lt;br /&gt;
        for sir in siruri:&lt;br /&gt;
            if i &amp;lt; len(sir):&lt;br /&gt;
                sir_nou.append(sir[i])&lt;br /&gt;
&lt;br /&gt;
    # Afișarea noului șir&lt;br /&gt;
    print(&#039; &#039;.join(sir_nou))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2592_-_Afis_Simetric&amp;diff=8372</id>
		<title>2592 - Afis Simetric</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2592_-_Afis_Simetric&amp;diff=8372"/>
		<updated>2023-12-25T18:24:31Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dau &#039;&#039;&#039;n&#039;&#039;&#039; șiruri de caractere care conțin cuvinte formate doar din litere mici și mari ale alfabetului englez, separate prin câte un singur spațiu.&lt;br /&gt;
&lt;br /&gt;
Să se afișeze un nou șir format din primul cuvânt al fiecărui șir în ordinea citirii, al doilea cuvânt al fiecărui șir în ordinea citirii, etc. Dacă șirurile nu au același număr de cuvinte, se continuă acest proces, până când fiecare șir ajunge la final, tot în ordinea citirii.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Se citește de la tastatură pe prima linie numărul &#039;&#039;&#039;n&#039;&#039;&#039;, iar pe următoarele &#039;&#039;&#039;n&#039;&#039;&#039; linii cele &#039;&#039;&#039;n&#039;&#039;&#039; șiruri de caractere.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran șirul rezultat conform cerinței.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* 1 &amp;amp;les; n &amp;amp;les; 10&lt;br /&gt;
* fiecare șir are maximum &#039;&#039;&#039;1000&#039;&#039;&#039; de caractere&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 3&lt;br /&gt;
 ana are mere&lt;br /&gt;
 el are&lt;br /&gt;
 ea are pere prune&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 ana el ea are are are mere pere prune&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 -1&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea numărului de șiruri de la tastatură&lt;br /&gt;
    n = int(input().strip())&lt;br /&gt;
&lt;br /&gt;
    # Verificarea dacă numărul de șiruri respectă restricțiile&lt;br /&gt;
    if not 1 &amp;lt;= n &amp;lt;= 10:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    # Citirea șirurilor de la tastatură și separarea lor în cuvinte&lt;br /&gt;
    siruri = [input().strip().split() for _ in range(n)]&lt;br /&gt;
&lt;br /&gt;
    # Verificarea dacă șirurile respectă restricțiile&lt;br /&gt;
    if any(len(sir) &amp;gt; 1000 or not all(cuvant.isalpha() for cuvant in sir) for sir in siruri):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Crearea unui nou șir format din cuvintele fiecărui șir în ordinea citirii&lt;br /&gt;
    sir_nou = []&lt;br /&gt;
    for i in range(max(len(sir) for sir in siruri)):&lt;br /&gt;
        for sir in siruri:&lt;br /&gt;
            if i &amp;lt; len(sir):&lt;br /&gt;
                sir_nou.append(sir[i])&lt;br /&gt;
&lt;br /&gt;
    # Afișarea noului șir&lt;br /&gt;
    print(&#039; &#039;.join(sir_nou))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0799_-_Eliminare_Litera&amp;diff=8371</id>
		<title>0799 - Eliminare Litera</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0799_-_Eliminare_Litera&amp;diff=8371"/>
		<updated>2023-12-25T18:21:43Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Să se scrie un program care citește un șir de caractere în care cuvintele sunt formate numai din litere mici ale alfabetului englez și sunt separate prin câte un spațiu și elimină litera din mijloc a fiecărui cuvânt cu număr impar de litere (cel puțin trei).&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură un șir de cel mult &#039;&#039;&#039;100&#039;&#039;&#039; caractere&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul afișează pe ecran textul obţinut, iar dacă nu există niciun cuvânt modificat, afișează pe ecran mesajul &#039;&#039;&#039;nu exista&#039;&#039;&#039;.&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 pictura prin aceea arata o pace profunda&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 picura prin acea arta o pace profunda&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Loremipsumdolorsitamet,consecteturadipiscingelit.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.&lt;br /&gt;
&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirului de la tastatură&lt;br /&gt;
    sir = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirul respectă restricțiile&lt;br /&gt;
    if len(sir) &amp;gt; 100 or not all(c.islower() or c.isspace() for c in sir):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Separarea șirului în cuvinte&lt;br /&gt;
    cuvinte = sir.split()&lt;br /&gt;
&lt;br /&gt;
    # Crearea unei liste pentru a stoca cuvintele modificate&lt;br /&gt;
    cuvinte_modificate = []&lt;br /&gt;
&lt;br /&gt;
    # Parcurgerea cuvintelor și eliminarea literei din mijloc a fiecărui cuvânt cu număr impar de litere&lt;br /&gt;
    for cuvant in cuvinte:&lt;br /&gt;
        if len(cuvant) % 2 == 1 and len(cuvant) &amp;gt;= 3:&lt;br /&gt;
            mijloc = len(cuvant) // 2&lt;br /&gt;
            cuvant_nou = cuvant[:mijloc] + cuvant[mijloc + 1:]&lt;br /&gt;
            cuvinte_modificate.append(cuvant_nou)&lt;br /&gt;
        else:&lt;br /&gt;
            cuvinte_modificate.append(cuvant)&lt;br /&gt;
&lt;br /&gt;
    # Verificarea dacă există cuvinte modificate&lt;br /&gt;
    if cuvinte_modificate == cuvinte:&lt;br /&gt;
        print(&amp;quot;nu exista&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot; &amp;quot;.join(cuvinte_modificate))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0799_-_Eliminare_Litera&amp;diff=8370</id>
		<title>0799 - Eliminare Litera</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0799_-_Eliminare_Litera&amp;diff=8370"/>
		<updated>2023-12-25T18:21:33Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Să se scrie un program care citește un șir de caractere în care cuvintele sunt formate numai din litere mici ale alfabetului englez și sunt separate prin câte un spațiu și elimină litera din mijloc a fiecărui cuvânt cu număr impar de litere (cel puțin trei).&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură un șir de cel mult &#039;&#039;&#039;100&#039;&#039;&#039; caractere&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul afișează pe ecran textul obţinut, iar dacă nu există niciun cuvânt modificat, afișează pe ecran mesajul &#039;&#039;&#039;nu exista&#039;&#039;&#039;.&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 pictura prin aceea arata o pace profunda&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 picura prin acea arta o pace profunda&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Loremipsumdolorsitamet,consecteturadipiscingelit.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.&lt;br /&gt;
&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirului de la tastatură&lt;br /&gt;
    sir = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirul respectă restricțiile&lt;br /&gt;
    if len(sir) &amp;gt; 100 or not all(c.islower() or c.isspace() for c in sir):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Separarea șirului în cuvinte&lt;br /&gt;
    cuvinte = sir.split()&lt;br /&gt;
&lt;br /&gt;
    # Crearea unei liste pentru a stoca cuvintele modificate&lt;br /&gt;
    cuvinte_modificate = []&lt;br /&gt;
&lt;br /&gt;
    # Parcurgerea cuvintelor și eliminarea literei din mijloc a fiecărui cuvânt cu număr impar de litere&lt;br /&gt;
    for cuvant in cuvinte:&lt;br /&gt;
        if len(cuvant) % 2 == 1 and len(cuvant) &amp;gt;= 3:&lt;br /&gt;
            mijloc = len(cuvant) // 2&lt;br /&gt;
            cuvant_nou = cuvant[:mijloc] + cuvant[mijloc + 1:]&lt;br /&gt;
            cuvinte_modificate.append(cuvant_nou)&lt;br /&gt;
        else:&lt;br /&gt;
            cuvinte_modificate.append(cuvant)&lt;br /&gt;
&lt;br /&gt;
    # Verificarea dacă există cuvinte modificate&lt;br /&gt;
    if cuvinte_modificate == cuvinte:&lt;br /&gt;
        print(&amp;quot;nu exista&amp;quot;)&lt;br /&gt;
    else:&lt;br /&gt;
        print(&amp;quot; &amp;quot;.join(cuvinte_modificate))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0810_-_Nr_A&amp;diff=8369</id>
		<title>0810 - Nr A</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0810_-_Nr_A&amp;diff=8369"/>
		<updated>2023-12-25T18:16:00Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dă un şir de caractere ce conţine cuvinte formate din litere mici ale alfabetului englez, separate prin unul sau mai multe spații. Înaintea primului cuvânt nu există spații, și nici după ultimul. Să se determine numărul de cuvinte din șir în care apare litera &#039;&#039;&#039;a&#039;&#039;&#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul va citi de la tastatură şirul dat.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afişa pe ecran numărul de cuvinte determinat.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* șirul dat va conține cel mult &#039;&#039;&#039;70&#039;&#039;&#039; caractere, litere mici ale alfabetului englez și spații&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 voi sustine      examenul la   informatica&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 3&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 voi sustine      examenul LA   informatica&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirului de la tastatură&lt;br /&gt;
    sir = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirul respectă restricțiile&lt;br /&gt;
    if len(sir) &amp;gt; 70 or not all(c.islower() or c.isspace() for c in sir):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Separarea șirului în cuvinte&lt;br /&gt;
    cuvinte = sir.split()&lt;br /&gt;
&lt;br /&gt;
    # Calcularea numărului de cuvinte care conțin litera &#039;a&#039;&lt;br /&gt;
    numar_cuvinte = sum(&#039;a&#039; in cuvant for cuvant in cuvinte)&lt;br /&gt;
&lt;br /&gt;
    # Afișarea numărului de cuvinte&lt;br /&gt;
    print(numar_cuvinte)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0810_-_Nr_A&amp;diff=8368</id>
		<title>0810 - Nr A</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0810_-_Nr_A&amp;diff=8368"/>
		<updated>2023-12-25T18:15:52Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dă un şir de caractere ce conţine cuvinte formate din litere mici ale alfabetului englez, separate prin unul sau mai multe spații. Înaintea primului cuvânt nu există spații, și nici după ultimul. Să se determine numărul de cuvinte din șir în care apare litera &#039;&#039;&#039;a&#039;&#039;&#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul va citi de la tastatură şirul dat.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afişa pe ecran numărul de cuvinte determinat.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* șirul dat va conține cel mult &#039;&#039;&#039;70&#039;&#039;&#039; caractere, litere mici ale alfabetului englez și spații&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 voi sustine      examenul la   informatica&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 3&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 voi sustine      examenul LA   informatica&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirului de la tastatură&lt;br /&gt;
    sir = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirul respectă restricțiile&lt;br /&gt;
    if len(sir) &amp;gt; 70 or not all(c.islower() or c.isspace() for c in sir):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Separarea șirului în cuvinte&lt;br /&gt;
    cuvinte = sir.split()&lt;br /&gt;
&lt;br /&gt;
    # Calcularea numărului de cuvinte care conțin litera &#039;a&#039;&lt;br /&gt;
    numar_cuvinte = sum(&#039;a&#039; in cuvant for cuvant in cuvinte)&lt;br /&gt;
&lt;br /&gt;
    # Afișarea numărului de cuvinte&lt;br /&gt;
    print(numar_cuvinte)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0232_-_Eliminare_Numere&amp;diff=8367</id>
		<title>0232 - Eliminare Numere</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0232_-_Eliminare_Numere&amp;diff=8367"/>
		<updated>2023-12-25T18:15:01Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Să se scrie un program care citeşte de la tastatură un şir de cel mult &#039;&#039;&#039;100&#039;&#039;&#039; de caractere,format din cuvinte şi numere, separate prin unul sau mai multe spații. Cuvintele sunt formate numai din litere ale alfabetului englez. Toate numerele sunt reale, pozitive şi sunt formate numai din parte întreagă sau din parte întreagă şi parte fracționară, separate prin punctul zecimal (.).&lt;br /&gt;
&lt;br /&gt;
Programul va elimina din şir toate numerele care au parte fracționară.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citeşte de la tastatură un şir de cel mult &#039;&#039;&#039;100&#039;&#039;&#039; caractere.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul afişează pe ecran şirul obţinut prin eliminarea numerelor care au parte fracționară.&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Reprezentat  cu 4 zecimale PI este 3.1415 si e este 2.7182&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 Reprezentat  cu 4 zecimale PI este  si e este &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Loremipsumdolorsitamet,consecteturadipiscingelit.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
import re&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirului de la tastatură&lt;br /&gt;
    sir = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirul respectă restricțiile&lt;br /&gt;
    if len(sir) &amp;gt; 100:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Crearea unui pattern regex pentru a găsi numerele cu parte fracționară&lt;br /&gt;
    pattern = r&#039;\b\d+\.\d+\b&#039;&lt;br /&gt;
&lt;br /&gt;
    # Înlocuirea numerelor cu parte fracționară cu un șir gol&lt;br /&gt;
    sir_nou = re.sub(pattern, &#039;&#039;, sir)&lt;br /&gt;
&lt;br /&gt;
    # Afișarea noului șir&lt;br /&gt;
    print(sir_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0232_-_Eliminare_Numere&amp;diff=8366</id>
		<title>0232 - Eliminare Numere</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0232_-_Eliminare_Numere&amp;diff=8366"/>
		<updated>2023-12-25T18:14:54Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Să se scrie un program care citeşte de la tastatură un şir de cel mult &#039;&#039;&#039;100&#039;&#039;&#039; de caractere,format din cuvinte şi numere, separate prin unul sau mai multe spații. Cuvintele sunt formate numai din litere ale alfabetului englez. Toate numerele sunt reale, pozitive şi sunt formate numai din parte întreagă sau din parte întreagă şi parte fracționară, separate prin punctul zecimal (.).&lt;br /&gt;
&lt;br /&gt;
Programul va elimina din şir toate numerele care au parte fracționară.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citeşte de la tastatură un şir de cel mult &#039;&#039;&#039;100&#039;&#039;&#039; caractere.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul afişează pe ecran şirul obţinut prin eliminarea numerelor care au parte fracționară.&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Reprezentat  cu 4 zecimale PI este 3.1415 si e este 2.7182&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 Reprezentat  cu 4 zecimale PI este  si e este &lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Loremipsumdolorsitamet,consecteturadipiscingelit.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
import re&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirului de la tastatură&lt;br /&gt;
    sir = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirul respectă restricțiile&lt;br /&gt;
    if len(sir) &amp;gt; 100:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Crearea unui pattern regex pentru a găsi numerele cu parte fracționară&lt;br /&gt;
    pattern = r&#039;\b\d+\.\d+\b&#039;&lt;br /&gt;
&lt;br /&gt;
    # Înlocuirea numerelor cu parte fracționară cu un șir gol&lt;br /&gt;
    sir_nou = re.sub(pattern, &#039;&#039;, sir)&lt;br /&gt;
&lt;br /&gt;
    # Afișarea noului șir&lt;br /&gt;
    print(sir_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0200_-_Eliminare_Subsir_1&amp;diff=8365</id>
		<title>0200 - Eliminare Subsir 1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0200_-_Eliminare_Subsir_1&amp;diff=8365"/>
		<updated>2023-12-25T18:13:34Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dau două şiruri de caractere &#039;&#039;&#039;s&#039;&#039;&#039; şi &#039;&#039;&#039;t&#039;&#039;&#039;. Să se elimine din &#039;&#039;&#039;s&#039;&#039;&#039; toate apariţiile lui &#039;&#039;&#039;t&#039;&#039;&#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură cele două şiruri, &#039;&#039;&#039;s&#039;&#039;&#039;, respectiv &#039;&#039;&#039;t&#039;&#039;&#039;, separate prin caracterul &#039;&#039;&#039;NewLine&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul afișează pe ecran şirul &#039;&#039;&#039;s&#039;&#039;&#039;, obţinut după transformarea cerută.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* cele două şiruri conţin cel mult &#039;&#039;&#039;255&#039;&#039;&#039; caractere.&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 ana si mariana canta la nai&lt;br /&gt;
 na&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 ana si mariana canta la i&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Loremipsumdolorsitamet,consecteturadipiscingelit.Nullafacilisi.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.Nullamelementumleoacorcicongue,infringillanisleuismod.Sedaliquet,elit eupellentesqueaccumsanjusitocursuslacus,idhendreritnisl.&lt;br /&gt;
&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirurilor de la tastatură&lt;br /&gt;
    s = input().strip()&lt;br /&gt;
    t = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirurile respectă restricțiile&lt;br /&gt;
    if len(s) &amp;gt; 255 or len(t) &amp;gt; 255:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Găsirea ultimei apariții a lui t în s&lt;br /&gt;
    pozitie = s.rfind(t)&lt;br /&gt;
&lt;br /&gt;
    # Verificarea dacă t a fost găsit în s&lt;br /&gt;
    if pozitie != -1:&lt;br /&gt;
        # Eliminarea ultimei apariții a lui t din s&lt;br /&gt;
        s_nou = s[:pozitie] + s[pozitie + len(t):]&lt;br /&gt;
    else:&lt;br /&gt;
        s_nou = s&lt;br /&gt;
&lt;br /&gt;
    # Afișarea noului șir&lt;br /&gt;
    print(s_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0200_-_Eliminare_Subsir_1&amp;diff=8364</id>
		<title>0200 - Eliminare Subsir 1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0200_-_Eliminare_Subsir_1&amp;diff=8364"/>
		<updated>2023-12-25T18:13:23Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dau două şiruri de caractere &#039;&#039;&#039;s&#039;&#039;&#039; şi &#039;&#039;&#039;t&#039;&#039;&#039;. Să se elimine din &#039;&#039;&#039;s&#039;&#039;&#039; toate apariţiile lui &#039;&#039;&#039;t&#039;&#039;&#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură cele două şiruri, &#039;&#039;&#039;s&#039;&#039;&#039;, respectiv &#039;&#039;&#039;t&#039;&#039;&#039;, separate prin caracterul &#039;&#039;&#039;NewLine&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul afișează pe ecran şirul &#039;&#039;&#039;s&#039;&#039;&#039;, obţinut după transformarea cerută.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* cele două şiruri conţin cel mult &#039;&#039;&#039;255&#039;&#039;&#039; caractere.&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 ana si mariana canta la nai&lt;br /&gt;
 na&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 ana si mariana canta la i&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Loremipsumdolorsitamet,consecteturadipiscingelit.Nullafacilisi.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.Nullamelementumleoacorcicongue,infringillanisleuismod.Sedaliquet,elit eupellentesqueaccumsanjusitocursuslacus,idhendreritnisl.&lt;br /&gt;
&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirurilor de la tastatură&lt;br /&gt;
    s = input().strip()&lt;br /&gt;
    t = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirurile respectă restricțiile&lt;br /&gt;
    if len(s) &amp;gt; 255 or len(t) &amp;gt; 255:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Găsirea ultimei apariții a lui t în s&lt;br /&gt;
    pozitie = s.rfind(t)&lt;br /&gt;
&lt;br /&gt;
    # Verificarea dacă t a fost găsit în s&lt;br /&gt;
    if pozitie != -1:&lt;br /&gt;
        # Eliminarea ultimei apariții a lui t din s&lt;br /&gt;
        s_nou = s[:pozitie] + s[pozitie + len(t):]&lt;br /&gt;
    else:&lt;br /&gt;
        s_nou = s&lt;br /&gt;
&lt;br /&gt;
    # Afișarea noului șir&lt;br /&gt;
    print(s_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0199_-_Eliminare_Subsir&amp;diff=8363</id>
		<title>0199 - Eliminare Subsir</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0199_-_Eliminare_Subsir&amp;diff=8363"/>
		<updated>2023-12-25T17:50:01Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dau două şiruri de caractere &#039;&#039;&#039;s&#039;&#039;&#039; şi &#039;&#039;&#039;t&#039;&#039;&#039;. Să se elimine din &#039;&#039;&#039;s&#039;&#039;&#039; toate apariţiile lui &#039;&#039;&#039;t&#039;&#039;&#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură cele două şiruri, &#039;&#039;&#039;s&#039;&#039;&#039;, respectiv &#039;&#039;&#039;t&#039;&#039;&#039;, separate prin caracterul &#039;&#039;&#039;NewLine&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul afișează pe ecran şirul &#039;&#039;&#039;s&#039;&#039;&#039;, obţinut după transformarea cerută.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* cele două şiruri conţin cel mult &#039;&#039;&#039;255&#039;&#039;&#039; caractere.&lt;br /&gt;
* aparițiile șirului &#039;&#039;&#039;t&#039;&#039;&#039; în &#039;&#039;&#039;s&#039;&#039;&#039; nu se suprapun&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 ana si mariana canta la nai&lt;br /&gt;
 na&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 a si maria canta la i&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Loremipsumdolorsitamet,consecteturadipiscingelit.Nullafacilisi.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.Nullamelementumleoacorcicongue,infringillanisleuismod.Sedaliquet,elit eupellentesqueaccumsanjusitocursuslacus,idhendreritnisl.&lt;br /&gt;
&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirurilor de la tastatură&lt;br /&gt;
    s = input().strip()&lt;br /&gt;
    t = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirurile respectă restricțiile&lt;br /&gt;
    if len(s) &amp;gt; 255 or len(t) &amp;gt; 255:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Eliminarea tuturor aparițiilor lui t din s&lt;br /&gt;
    s_nou = s.replace(t, &#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
    # Afișarea noului șir&lt;br /&gt;
    print(s_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0199_-_Eliminare_Subsir&amp;diff=8362</id>
		<title>0199 - Eliminare Subsir</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0199_-_Eliminare_Subsir&amp;diff=8362"/>
		<updated>2023-12-25T17:49:53Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dau două şiruri de caractere &#039;&#039;&#039;s&#039;&#039;&#039; şi &#039;&#039;&#039;t&#039;&#039;&#039;. Să se elimine din &#039;&#039;&#039;s&#039;&#039;&#039; toate apariţiile lui &#039;&#039;&#039;t&#039;&#039;&#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură cele două şiruri, &#039;&#039;&#039;s&#039;&#039;&#039;, respectiv &#039;&#039;&#039;t&#039;&#039;&#039;, separate prin caracterul &#039;&#039;&#039;NewLine&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul afișează pe ecran şirul &#039;&#039;&#039;s&#039;&#039;&#039;, obţinut după transformarea cerută.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* cele două şiruri conţin cel mult &#039;&#039;&#039;255&#039;&#039;&#039; caractere.&lt;br /&gt;
* aparițiile șirului &#039;&#039;&#039;t&#039;&#039;&#039; în &#039;&#039;&#039;s&#039;&#039;&#039; nu se suprapun&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 ana si mariana canta la nai&lt;br /&gt;
 na&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 a si maria canta la i&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Loremipsumdolorsitamet,consecteturadipiscingelit.Nullafacilisi.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.Nullamelementumleoacorcicongue,infringillanisleuismod.Sedaliquet,elit eupellentesqueaccumsanjusitocursuslacus,idhendreritnisl.&lt;br /&gt;
&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirurilor de la tastatură&lt;br /&gt;
    s = input().strip()&lt;br /&gt;
    t = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirurile respectă restricțiile&lt;br /&gt;
    if len(s) &amp;gt; 255 or len(t) &amp;gt; 255:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Eliminarea tuturor aparițiilor lui t din s&lt;br /&gt;
    s_nou = s.replace(t, &#039;&#039;)&lt;br /&gt;
&lt;br /&gt;
    # Afișarea noului șir&lt;br /&gt;
    print(s_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0188_-_Inlocuire_Cuvant&amp;diff=8361</id>
		<title>0188 - Inlocuire Cuvant</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0188_-_Inlocuire_Cuvant&amp;diff=8361"/>
		<updated>2023-12-25T17:49:15Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Se dau două cuvinte &#039;&#039;&#039;a&#039;&#039;&#039; şi &#039;&#039;&#039;b&#039;&#039;&#039; şi o propoziţie &#039;&#039;&#039;s&#039;&#039;&#039; formată numai din litere mici ale alfabetului englez şi spaţii.&lt;br /&gt;
== Cerinţa ==&lt;br /&gt;
Să se modifice &#039;&#039;&#039;s&#039;&#039;&#039;, înlocuind fiecare apariţie a cuvântului &#039;&#039;&#039;a&#039;&#039;&#039; cu cuvântul &#039;&#039;&#039;b&#039;&#039;&#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fişierul de intrare &#039;&#039;&#039;inlocuirecuvantin.txt&#039;&#039;&#039; conţine pe prima linie cuvintele &#039;&#039;&#039;a&#039;&#039;&#039; şi &#039;&#039;&#039;b&#039;&#039;&#039;, separate printr-un spaţiu, iar pe a doua linie propoziţia &#039;&#039;&#039;s&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fişierul de ieşire &#039;&#039;&#039;inlocuirecuvantout.txt&#039;&#039;&#039; va conţine pe prima linie propoziţia &#039;&#039;&#039;s&#039;&#039;&#039;, modificată în conformitate cu cerinţa.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* propoziţia &#039;&#039;&#039;s&#039;&#039;&#039; va avea cel mult &#039;&#039;&#039;100&#039;&#039;&#039; caractere&lt;br /&gt;
* cuvintele &#039;&#039;&#039;a&#039;&#039;&#039; şi &#039;&#039;&#039;b&#039;&#039;&#039; vor avea cel mult &#039;&#039;&#039;10&#039;&#039;&#039; caractere&lt;br /&gt;
* cuvintele sunt formate numai din litere mici ale alfabetului englez&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; inlocuirecuvantin.txt&lt;br /&gt;
 dar insa&lt;br /&gt;
 dar nu trebuie dar e mai bine astfel&lt;br /&gt;
; inlocuirecuvantout.txt&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 insa nu trebuie insa e mai bine astfel&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; inlocuirecuvantin.txt&lt;br /&gt;
 dar neînsemnând&lt;br /&gt;
 dar nu trebuie dar e mai bine astfel&lt;br /&gt;
; inlocuirecuvantout.txt&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea cuvintelor și a propoziției din fișierul &#039;inlocuirecuvant.in&#039;&lt;br /&gt;
    with open(&#039;inlocuirecuvantin.txt&#039;, &#039;r&#039;) as f:&lt;br /&gt;
        a, b = f.readline().strip().split()&lt;br /&gt;
        s = f.readline().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă cuvintele și propoziția respectă restricțiile&lt;br /&gt;
    if len(a) &amp;gt; 10 or len(b) &amp;gt; 10 or len(s) &amp;gt; 100 or not (a.isalpha()&lt;br /&gt;
    and b.isalpha() and all(c.isalpha() or c.isspace() for c in s)):&lt;br /&gt;
        result = &amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;&lt;br /&gt;
    else:&lt;br /&gt;
        result = &amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        # Înlocuirea fiecărei apariții a cuvântului a cu cuvântul b în propoziție&lt;br /&gt;
        s_noua = s.replace(a, b)&lt;br /&gt;
        result += &amp;quot;\n&amp;quot; + s_noua&lt;br /&gt;
&lt;br /&gt;
    # Scrierea rezultatului în fișierul &#039;inlocuirecuvant.out&#039;&lt;br /&gt;
    with open(&#039;inlocuirecuvantout.txt&#039;, &#039;w&#039;) as f:&lt;br /&gt;
        f.write(result)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0188_-_Inlocuire_Cuvant&amp;diff=8360</id>
		<title>0188 - Inlocuire Cuvant</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0188_-_Inlocuire_Cuvant&amp;diff=8360"/>
		<updated>2023-12-25T17:49:07Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
Se dau două cuvinte &#039;&#039;&#039;a&#039;&#039;&#039; şi &#039;&#039;&#039;b&#039;&#039;&#039; şi o propoziţie &#039;&#039;&#039;s&#039;&#039;&#039; formată numai din litere mici ale alfabetului englez şi spaţii.&lt;br /&gt;
== Cerinţa ==&lt;br /&gt;
Să se modifice &#039;&#039;&#039;s&#039;&#039;&#039;, înlocuind fiecare apariţie a cuvântului &#039;&#039;&#039;a&#039;&#039;&#039; cu cuvântul &#039;&#039;&#039;b&#039;&#039;&#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fişierul de intrare &#039;&#039;&#039;inlocuirecuvantin.txt&#039;&#039;&#039; conţine pe prima linie cuvintele &#039;&#039;&#039;a&#039;&#039;&#039; şi &#039;&#039;&#039;b&#039;&#039;&#039;, separate printr-un spaţiu, iar pe a doua linie propoziţia &#039;&#039;&#039;s&#039;&#039;&#039;.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fişierul de ieşire &#039;&#039;&#039;inlocuirecuvantout.txt&#039;&#039;&#039; va conţine pe prima linie propoziţia &#039;&#039;&#039;s&#039;&#039;&#039;, modificată în conformitate cu cerinţa.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* propoziţia &#039;&#039;&#039;s&#039;&#039;&#039; va avea cel mult &#039;&#039;&#039;100&#039;&#039;&#039; caractere&lt;br /&gt;
* cuvintele &#039;&#039;&#039;a&#039;&#039;&#039; şi &#039;&#039;&#039;b&#039;&#039;&#039; vor avea cel mult &#039;&#039;&#039;10&#039;&#039;&#039; caractere&lt;br /&gt;
* cuvintele sunt formate numai din litere mici ale alfabetului englez&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; inlocuirecuvantin.txt&lt;br /&gt;
 dar insa&lt;br /&gt;
 dar nu trebuie dar e mai bine astfel&lt;br /&gt;
; inlocuirecuvantout.txt&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 insa nu trebuie insa e mai bine astfel&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
; inlocuirecuvantin.txt&lt;br /&gt;
 dar neînsemnând&lt;br /&gt;
 dar nu trebuie dar e mai bine astfel&lt;br /&gt;
; inlocuirecuvantout.txt&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea cuvintelor și a propoziției din fișierul &#039;inlocuirecuvant.in&#039;&lt;br /&gt;
    with open(&#039;inlocuirecuvantin.txt&#039;, &#039;r&#039;) as f:&lt;br /&gt;
        a, b = f.readline().strip().split()&lt;br /&gt;
        s = f.readline().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă cuvintele și propoziția respectă restricțiile&lt;br /&gt;
    if len(a) &amp;gt; 10 or len(b) &amp;gt; 10 or len(s) &amp;gt; 100 or not (a.isalpha()&lt;br /&gt;
    and b.isalpha() and all(c.isalpha() or c.isspace() for c in s)):&lt;br /&gt;
        result = &amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;&lt;br /&gt;
    else:&lt;br /&gt;
        result = &amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        # Înlocuirea fiecărei apariții a cuvântului a cu cuvântul b în propoziție&lt;br /&gt;
        s_noua = s.replace(a, b)&lt;br /&gt;
        result += &amp;quot;\n&amp;quot; + s_noua&lt;br /&gt;
&lt;br /&gt;
    # Scrierea rezultatului în fișierul &#039;inlocuirecuvant.out&#039;&lt;br /&gt;
    with open(&#039;inlocuirecuvantout.txt&#039;, &#039;w&#039;) as f:&lt;br /&gt;
        f.write(result)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0156_-_Eliminare_1&amp;diff=8359</id>
		<title>0156 - Eliminare 1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0156_-_Eliminare_1&amp;diff=8359"/>
		<updated>2023-12-25T17:46:25Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Scrieţi un program care citeşte de la tastatură un şir de cel mult 50 de caractere (cifre, litere ale alfabetului englez şi spaţii; şirul conţine cel puţin o literă), apoi construieşte în memorie şi afişează pe ecran şirul de caractere obţinut din şirul citit prin eliminarea tuturor caracterelor care nu sunt litere.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citeşte de la tastatură un şir de cel mult 50 de caractere.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afişa pe ecran şirul obţinut din şirul citit prin eliminarea tuturor caracterelor care nu sunt litere.&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Pe 12 mergem la munte&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 Pemergemlamunte&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Loremipsumdolorsitamet,consecteturadipiscingelit.Vestibulumeuismodnequeeumetusrhoncus.&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirului de la tastatură&lt;br /&gt;
    sir = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirul respectă restricțiile&lt;br /&gt;
    if len(sir) &amp;gt; 50 or not any(caracter.isalpha() for caracter in sir):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Crearea unui nou șir prin eliminarea tuturor caracterelor care nu sunt litere&lt;br /&gt;
    sir_nou = &#039;&#039;.join(caracter for caracter in sir if caracter.isalpha())&lt;br /&gt;
&lt;br /&gt;
    # Afișarea noului șir&lt;br /&gt;
    print(sir_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0156_-_Eliminare_1&amp;diff=8358</id>
		<title>0156 - Eliminare 1</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0156_-_Eliminare_1&amp;diff=8358"/>
		<updated>2023-12-25T17:46:16Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Scrieţi un program care citeşte de la tastatură un şir de cel mult 50 de caractere (cifre, litere ale alfabetului englez şi spaţii; şirul conţine cel puţin o literă), apoi construieşte în memorie şi afişează pe ecran şirul de caractere obţinut din şirul citit prin eliminarea tuturor caracterelor care nu sunt litere.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citeşte de la tastatură un şir de cel mult 50 de caractere.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afişa pe ecran şirul obţinut din şirul citit prin eliminarea tuturor caracterelor care nu sunt litere.&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Pe 12 mergem la munte&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 Pemergemlamunte&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Loremipsumdolorsitamet,consecteturadipiscingelit.Vestibulumeuismodnequeeumetusrhoncus.&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirului de la tastatură&lt;br /&gt;
    sir = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirul respectă restricțiile&lt;br /&gt;
    if len(sir) &amp;gt; 50 or not any(caracter.isalpha() for caracter in sir):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Crearea unui nou șir prin eliminarea tuturor caracterelor care nu sunt litere&lt;br /&gt;
    sir_nou = &#039;&#039;.join(caracter for caracter in sir if caracter.isalpha())&lt;br /&gt;
&lt;br /&gt;
    # Afișarea noului șir&lt;br /&gt;
    print(sir_nou)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0137_-_Afisare_Litere&amp;diff=8357</id>
		<title>0137 - Afisare Litere</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0137_-_Afisare_Litere&amp;diff=8357"/>
		<updated>2023-12-25T17:44:03Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Să se scrie un program care citește un șir de caractere și afișează o singură dată literele mici din șir în ordinea în care apar în șir.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură o un șir de cel mult &#039;&#039;&#039;255&#039;&#039;&#039; caractere.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul afișează pe ecran, separate prin câte un spațiu, literele mici din sir, în ordinea în care apar în șir.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* șirul va conține cel puțin o literă mică&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Ana are mere&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 n a r e m&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 ANA ARE MERE&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirului de la tastatură&lt;br /&gt;
    sir = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirul respectă restricțiile&lt;br /&gt;
    if len(sir) &amp;gt; 255 or not any(caracter.islower() for caracter in sir):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Crearea unui set pentru a stoca literele mici unice&lt;br /&gt;
    litere_unice = set()&lt;br /&gt;
&lt;br /&gt;
    # Parcurgerea șirului și adăugarea literelor mici unice în set&lt;br /&gt;
    for caracter in sir:&lt;br /&gt;
        if caracter.islower() and caracter not in litere_unice:&lt;br /&gt;
            litere_unice.add(caracter)&lt;br /&gt;
            print(caracter, end=&#039; &#039;)&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2953_-_Inserare_Char&amp;diff=8356</id>
		<title>2953 - Inserare Char</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2953_-_Inserare_Char&amp;diff=8356"/>
		<updated>2023-12-25T17:42:08Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Scrieți un program care citește un cuvânt cu cel mult &#039;&#039;&#039;15&#039;&#039;&#039; litere mici ale alfabetului englez și apoi un text cu cel mult &#039;&#039;&#039;255&#039;&#039;&#039; de caractere (cuvinte formate din litere mici ale alfabetului englez separate prin unul sau mai multe spații) și care afișează șirul obținut prin inserarea în text a caracterului &#039;&#039;&#039;?&#039;&#039;&#039; după fiecare apariție a cuvântului citit. Dacă în text nu apare cuvântul citit, se va afișa mesajul &#039;&#039;&#039;NU APARE&#039;&#039;&#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare &#039;&#039;&#039;inserarecharin.txt&#039;&#039;&#039; conține pe prima linie un cuvânt, iar pe a doua linie un text.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fișierul de ieșire &#039;&#039;&#039;inserarecharout.txt&#039;&#039;&#039; va conține textul modificat prin inserarea caracterului &#039;&#039;&#039;?&#039;&#039;&#039; după fiecare apariție a cuvântului citit, sau mesajul &#039;&#039;&#039;NU APARE&#039;&#039;&#039;&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* textul va avea cel mult 255 de caractere litere mici din alfabetul englez și spații;&lt;br /&gt;
* cuvântul va avea cel mult 15 caractere, doar litere mici ale alfabetului englez.&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; inserarecharin.txt&lt;br /&gt;
 examenul&lt;br /&gt;
 examenul de bacalaureat si examenul de atestat&lt;br /&gt;
; inserarecharout.txt&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 examenul? de bacalaureat si examenul? de atestat&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; inserarecharin.txt&lt;br /&gt;
 EXAMENUL&lt;br /&gt;
 examenul de bacalaureat si examenul de atestat&lt;br /&gt;
; inserarecharout.txt&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea cuvântului și a textului din fișierul &#039;inserarechar.in&#039;&lt;br /&gt;
    with open(&#039;inserarecharin.txt&#039;, &#039;r&#039;) as f:&lt;br /&gt;
        cuvant = f.readline().strip()&lt;br /&gt;
        text = f.readline().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă cuvântul și textul respectă restricțiile&lt;br /&gt;
    if len(cuvant) &amp;gt; 15 or len(text) &amp;gt; 255:&lt;br /&gt;
        result = &amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;&lt;br /&gt;
    elif any(not caracter.islower() and not caracter.isspace() for caracter in cuvant + text):&lt;br /&gt;
        result = &amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;&lt;br /&gt;
    else:&lt;br /&gt;
        result = &amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        # Inserarea caracterului &#039;?&#039; după fiecare apariție a cuvântului citit în text&lt;br /&gt;
        cuvinte = text.split()&lt;br /&gt;
        cuvinte_noi = [cuv + &#039;?&#039; if cuv == cuvant else cuv for cuv in cuvinte]&lt;br /&gt;
        text_nou = &#039; &#039;.join(cuvinte_noi)&lt;br /&gt;
&lt;br /&gt;
        # Verifică dacă cuvântul citit apare în text și adaugă rezultatul la variabila &#039;result&#039;&lt;br /&gt;
        if cuvant in cuvinte:&lt;br /&gt;
            result += &amp;quot;\n&amp;quot; + text_nou&lt;br /&gt;
        else:&lt;br /&gt;
            result += &amp;quot;\nNU APARE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Scrierea rezultatului în fișierul &#039;inserarechar.out&#039;&lt;br /&gt;
    with open(&#039;inserarecharout.txt&#039;, &#039;w&#039;) as f:&lt;br /&gt;
        f.write(result)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2953_-_Inserare_Char&amp;diff=8355</id>
		<title>2953 - Inserare Char</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2953_-_Inserare_Char&amp;diff=8355"/>
		<updated>2023-12-25T17:41:59Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Scrieți un program care citește un cuvânt cu cel mult &#039;&#039;&#039;15&#039;&#039;&#039; litere mici ale alfabetului englez și apoi un text cu cel mult &#039;&#039;&#039;255&#039;&#039;&#039; de caractere (cuvinte formate din litere mici ale alfabetului englez separate prin unul sau mai multe spații) și care afișează șirul obținut prin inserarea în text a caracterului &#039;&#039;&#039;?&#039;&#039;&#039; după fiecare apariție a cuvântului citit. Dacă în text nu apare cuvântul citit, se va afișa mesajul &#039;&#039;&#039;NU APARE&#039;&#039;&#039;.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Fișierul de intrare &#039;&#039;&#039;inserarecharin.txt&#039;&#039;&#039; conține pe prima linie un cuvânt, iar pe a doua linie un text.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Fișierul de ieșire &#039;&#039;&#039;inserarecharout.txt&#039;&#039;&#039; va conține textul modificat prin inserarea caracterului &#039;&#039;&#039;?&#039;&#039;&#039; după fiecare apariție a cuvântului citit, sau mesajul &#039;&#039;&#039;NU APARE&#039;&#039;&#039;&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* textul va avea cel mult 255 de caractere litere mici din alfabetul englez și spații;&lt;br /&gt;
* cuvântul va avea cel mult 15 caractere, doar litere mici ale alfabetului englez.&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
; inserarecharin.txt&lt;br /&gt;
 examenul&lt;br /&gt;
 examenul de bacalaureat si examenul de atestat&lt;br /&gt;
; inserarecharout.txt&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 examenul? de bacalaureat si examenul? de atestat&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; inserarecharin.txt&lt;br /&gt;
 EXAMENUL&lt;br /&gt;
 examenul de bacalaureat si examenul de atestat&lt;br /&gt;
; inserarecharout.txt&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea cuvântului și a textului din fișierul &#039;inserarechar.in&#039;&lt;br /&gt;
    with open(&#039;inserarecharin.txt&#039;, &#039;r&#039;) as f:&lt;br /&gt;
        cuvant = f.readline().strip()&lt;br /&gt;
        text = f.readline().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă cuvântul și textul respectă restricțiile&lt;br /&gt;
    if len(cuvant) &amp;gt; 15 or len(text) &amp;gt; 255:&lt;br /&gt;
        result = &amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;&lt;br /&gt;
    elif any(not caracter.islower() and not caracter.isspace() for caracter in cuvant + text):&lt;br /&gt;
        result = &amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;&lt;br /&gt;
    else:&lt;br /&gt;
        result = &amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;&lt;br /&gt;
&lt;br /&gt;
        # Inserarea caracterului &#039;?&#039; după fiecare apariție a cuvântului citit în text&lt;br /&gt;
        cuvinte = text.split()&lt;br /&gt;
        cuvinte_noi = [cuv + &#039;?&#039; if cuv == cuvant else cuv for cuv in cuvinte]&lt;br /&gt;
        text_nou = &#039; &#039;.join(cuvinte_noi)&lt;br /&gt;
&lt;br /&gt;
        # Verifică dacă cuvântul citit apare în text și adaugă rezultatul la variabila &#039;result&#039;&lt;br /&gt;
        if cuvant in cuvinte:&lt;br /&gt;
            result += &amp;quot;\n&amp;quot; + text_nou&lt;br /&gt;
        else:&lt;br /&gt;
            result += &amp;quot;\nNU APARE&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Scrierea rezultatului în fișierul &#039;inserarechar.out&#039;&lt;br /&gt;
    with open(&#039;inserarecharout.txt&#039;, &#039;w&#039;) as f:&lt;br /&gt;
        f.write(result)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0136_-_Numarare_Cuvinte&amp;diff=8354</id>
		<title>0136 - Numarare Cuvinte</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0136_-_Numarare_Cuvinte&amp;diff=8354"/>
		<updated>2023-12-25T17:38:24Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Să se scrie un program care citește o propoziție și determină numărul de cuvinte din propoziție care încep și se termină cu vocală.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură o propoziție.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul afișează pe ecran valoarea cerută.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* propoziția va conține cel mult &#039;&#039;&#039;150&#039;&#039;&#039; de caractere;&lt;br /&gt;
* propoziția conține doar litere ale alfabetului englez și spații&lt;br /&gt;
* se consideră vocale caracterele din mulțimea &#039;&#039;&#039;{a,e,i,o,u,A,E,I,O,U}&#039;&#039;&#039;&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Catalin1234!&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea propoziției de la tastatură&lt;br /&gt;
    propozitie = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă propoziția respectă restricțiile&lt;br /&gt;
    if len(propozitie) &amp;gt; 150:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
    if any(not caracter.isalpha() and not caracter.isspace() for caracter in propozitie):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Determinarea numărului de cuvinte din propoziție care încep și se termină cu vocală&lt;br /&gt;
    vocale = &#039;aeiouAEIOU&#039;&lt;br /&gt;
    cuvinte = propozitie.split()&lt;br /&gt;
    cuvinte_vocale = [cuvant for cuvant in cuvinte if cuvant[0] in vocale and cuvant[-1] in vocale]&lt;br /&gt;
&lt;br /&gt;
    # Afișarea numărului de cuvinte care încep și se termină cu vocală&lt;br /&gt;
    print(len(cuvinte_vocale))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicatie ==&lt;br /&gt;
Cuvintele din propoziție care respectă proprietatea precizată sunt: &#039;&#039;&#039;Eratostene, a, anii, ani&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0136_-_Numarare_Cuvinte&amp;diff=8353</id>
		<title>0136 - Numarare Cuvinte</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0136_-_Numarare_Cuvinte&amp;diff=8353"/>
		<updated>2023-12-25T17:38:14Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Să se scrie un program care citește o propoziție și determină numărul de cuvinte din propoziție care încep și se termină cu vocală.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură o propoziție.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul afișează pe ecran valoarea cerută.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* propoziția va conține cel mult &#039;&#039;&#039;150&#039;&#039;&#039; de caractere;&lt;br /&gt;
* propoziția conține doar litere ale alfabetului englez și spații&lt;br /&gt;
* se consideră vocale caracterele din mulțimea &#039;&#039;&#039;{a,e,i,o,u,A,E,I,O,U}&#039;&#039;&#039;&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Eratostene a sugerat ca anii bisecti se repeta la fiecare patru ani&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 4&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Catalin1234!&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea propoziției de la tastatură&lt;br /&gt;
    propozitie = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă propoziția respectă restricțiile&lt;br /&gt;
    if len(propozitie) &amp;gt; 150:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
    if any(not caracter.isalpha() and not caracter.isspace() for caracter in propozitie):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Determinarea numărului de cuvinte din propoziție care încep și se termină cu vocală&lt;br /&gt;
    vocale = &#039;aeiouAEIOU&#039;&lt;br /&gt;
    cuvinte = propozitie.split()&lt;br /&gt;
    cuvinte_vocale = [cuvant for cuvant in cuvinte if cuvant[0] in vocale and cuvant[-1] in vocale]&lt;br /&gt;
&lt;br /&gt;
    # Afișarea numărului de cuvinte care încep și se termină cu vocală&lt;br /&gt;
    print(len(cuvinte_vocale))&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Explicatie ==&lt;br /&gt;
Cuvintele din propoziție care respectă proprietatea precizată sunt: &#039;&#039;&#039;Eratostene, a, anii, ani&#039;&#039;&#039;.&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2673_-_Swap_Cuv&amp;diff=8352</id>
		<title>2673 - Swap Cuv</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2673_-_Swap_Cuv&amp;diff=8352"/>
		<updated>2023-12-25T17:31:26Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dă un şir de caractere care conține cuvinte formate din litere mici și mari ale alfabetului englez. Cuvintele sunt separate prin orice caractere imprimabile care nu sunt litere (cu codurile ASCII mai mari sau egale cu 32). Să se afișeze cuvintele pe cate o linie în felul următor:&lt;br /&gt;
;&lt;br /&gt;
 Primul&lt;br /&gt;
 Ultimul&lt;br /&gt;
 Al Doilea&lt;br /&gt;
 Penultimul&lt;br /&gt;
 ...&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură șirul dat.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran cate o linie cuvintele în funcție de cerintă.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* propoziția va conține cel mult 255 de caractere&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 divide and conquer / devide et impera.&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 divide&lt;br /&gt;
 impera&lt;br /&gt;
 and&lt;br /&gt;
 et&lt;br /&gt;
 conquer&lt;br /&gt;
 devide&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Loremipsumdolorsitamet,consecteturadipiscingelit.Nullafacilisi.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.Nullamelementumleoacorcicongue,infringillanisleuismod.Sedaliquet,elit eupellentesqueaccumsanjusitocursuslacus,idhendreritnisl.&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
import re&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirului de caractere de la tastatură&lt;br /&gt;
    sir = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirul respectă restricțiile&lt;br /&gt;
    if len(sir) &amp;gt; 255:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    # Afișarea mesajului de confirmare&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Separarea cuvintelor din șir&lt;br /&gt;
    cuvinte = re.findall(r&#039;\b\w+\b&#039;, sir)&lt;br /&gt;
&lt;br /&gt;
    # Afișarea cuvintelor în ordinea cerută&lt;br /&gt;
    i = 0&lt;br /&gt;
    j = len(cuvinte) - 1&lt;br /&gt;
    while i &amp;lt;= j:&lt;br /&gt;
        if i == j:&lt;br /&gt;
            print(cuvinte[i])&lt;br /&gt;
        else:&lt;br /&gt;
            print(cuvinte[i])&lt;br /&gt;
            print(cuvinte[j])&lt;br /&gt;
        i += 1&lt;br /&gt;
        j -= 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=2673_-_Swap_Cuv&amp;diff=8351</id>
		<title>2673 - Swap Cuv</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=2673_-_Swap_Cuv&amp;diff=8351"/>
		<updated>2023-12-25T17:31:19Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Se dă un şir de caractere care conține cuvinte formate din litere mici și mari ale alfabetului englez. Cuvintele sunt separate prin orice caractere imprimabile care nu sunt litere (cu codurile ASCII mai mari sau egale cu 32). Să se afișeze cuvintele pe cate o linie în felul următor:&lt;br /&gt;
;&lt;br /&gt;
 Primul&lt;br /&gt;
 Ultimul&lt;br /&gt;
 Al Doilea&lt;br /&gt;
 Penultimul&lt;br /&gt;
 ...&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură șirul dat.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul va afișa pe ecran cate o linie cuvintele în funcție de cerintă.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* propoziția va conține cel mult 255 de caractere&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 divide and conquer / devide et impera.&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 divide&lt;br /&gt;
 impera&lt;br /&gt;
 and&lt;br /&gt;
 et&lt;br /&gt;
 conquer&lt;br /&gt;
 devide&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplu 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 Loremipsumdolorsitamet,consecteturadipiscingelit.Nullafacilisi.Vestibulumeuismodnequeeumetusrhoncus,neciaculispurussollicitudin.Quisquecondimentum,lacusidsuscipitvestibulum,odiosemegestasnunc,velaliquetpuruseratnecelit.Nullamelementumleoacorcicongue,infringillanisleuismod.Sedaliquet,elit eupellentesqueaccumsanjusitocursuslacus,idhendreritnisl.&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
import re&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea șirului de caractere de la tastatură&lt;br /&gt;
    sir = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă șirul respectă restricțiile&lt;br /&gt;
    if len(sir) &amp;gt; 255:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    # Afișarea mesajului de confirmare&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Separarea cuvintelor din șir&lt;br /&gt;
    cuvinte = re.findall(r&#039;\b\w+\b&#039;, sir)&lt;br /&gt;
&lt;br /&gt;
    # Afișarea cuvintelor în ordinea cerută&lt;br /&gt;
    i = 0&lt;br /&gt;
    j = len(cuvinte) - 1&lt;br /&gt;
    while i &amp;lt;= j:&lt;br /&gt;
        if i == j:&lt;br /&gt;
            print(cuvinte[i])&lt;br /&gt;
        else:&lt;br /&gt;
            print(cuvinte[i])&lt;br /&gt;
            print(cuvinte[j])&lt;br /&gt;
        i += 1&lt;br /&gt;
        j -= 1&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0110_-_Eliminare&amp;diff=8350</id>
		<title>0110 - Eliminare</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0110_-_Eliminare&amp;diff=8350"/>
		<updated>2023-12-25T17:29:51Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 1 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Să se scrie un program care citeşte de la tastatură un cuvânt şi afişează pe ecran toate cuvintele care se pot obţine prin eliminarea unei singure litere din cuvântul citit.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citeşte de la tastatură un cuvânt de cel mult &#039;&#039;&#039;100&#039;&#039;&#039; caractere.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul afişează pe ecran toate cuvintele care se pot obţine prin eliminarea unei singure litere din cuvântul citit, fiecare pe o linie&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* cuvântul citit este alcătuit din litere mici ale alfabetului englez&lt;br /&gt;
* primul cuvânt afişat va fi cel obţinut prin eliminarea primei litere, al doilea va fi cel obţinut prin eliminarea celei de-a doua litere, etc.&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 caiet&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 aiet&lt;br /&gt;
 ciet&lt;br /&gt;
 caet&lt;br /&gt;
 cait&lt;br /&gt;
 caie&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 CAIET&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea cuvântului de la tastatură&lt;br /&gt;
    cuvant = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă cuvântul respectă restricțiile&lt;br /&gt;
    if len(cuvant) &amp;gt; 100:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
    if any(not caracter.islower() for caracter in cuvant):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    # Afișarea mesajului de confirmare&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Afișarea cuvintelor obținute prin eliminarea unei singure litere din cuvântul citit&lt;br /&gt;
    for i in range(len(cuvant)):&lt;br /&gt;
        print(cuvant[:i] + cuvant[i+1:])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0110_-_Eliminare&amp;diff=8349</id>
		<title>0110 - Eliminare</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0110_-_Eliminare&amp;diff=8349"/>
		<updated>2023-12-25T17:29:42Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Să se scrie un program care citeşte de la tastatură un cuvânt şi afişează pe ecran toate cuvintele care se pot obţine prin eliminarea unei singure litere din cuvântul citit.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citeşte de la tastatură un cuvânt de cel mult &#039;&#039;&#039;100&#039;&#039;&#039; caractere.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul afişează pe ecran toate cuvintele care se pot obţine prin eliminarea unei singure litere din cuvântul citit, fiecare pe o linie&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* cuvântul citit este alcătuit din litere mici ale alfabetului englez&lt;br /&gt;
* primul cuvânt afişat va fi cel obţinut prin eliminarea primei litere, al doilea va fi cel obţinut prin eliminarea celei de-a doua litere, etc.&lt;br /&gt;
== Exemplu 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 caiet&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 aiet&lt;br /&gt;
 ciet&lt;br /&gt;
 caet&lt;br /&gt;
 cait&lt;br /&gt;
 caie&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 CAIET&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea cuvântului de la tastatură&lt;br /&gt;
    cuvant = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă cuvântul respectă restricțiile&lt;br /&gt;
    if len(cuvant) &amp;gt; 100:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
    if any(not caracter.islower() for caracter in cuvant):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    # Afișarea mesajului de confirmare&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Afișarea cuvintelor obținute prin eliminarea unei singure litere din cuvântul citit&lt;br /&gt;
    for i in range(len(cuvant)):&lt;br /&gt;
        print(cuvant[:i] + cuvant[i+1:])&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
	<entry>
		<id>https://wiki.universitas.ro/index.php?title=0096_-_Palindrom_Maxim&amp;diff=8348</id>
		<title>0096 - Palindrom Maxim</title>
		<link rel="alternate" type="text/html" href="https://wiki.universitas.ro/index.php?title=0096_-_Palindrom_Maxim&amp;diff=8348"/>
		<updated>2023-12-25T17:28:49Z</updated>

		<summary type="html">&lt;p&gt;Hotico Iulia Denisa: /* Exemplu 2 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Cerinţa ==&lt;br /&gt;
Să se scrie un program care citește o propoziție și determină cuvântul &#039;&#039;&#039;palindrom&#039;&#039; de lungime maximă.&lt;br /&gt;
== Date de intrare ==&lt;br /&gt;
Programul citește de la tastatură o propoziție alcătuită din litere mici sau mari ale alfabetului englez, cifre, semne de punctuație și spații.&lt;br /&gt;
== Date de ieșire ==&lt;br /&gt;
Programul afișează pe ecran cel mai lung cuvânt palindrom.&lt;br /&gt;
== Restricţii şi precizări ==&lt;br /&gt;
* propoziția va conține cel mult &#039;&#039;&#039;255&#039;&#039;&#039; de caractere;&lt;br /&gt;
* cuvintele conțin doar litere și/sau cifre și conțin cel mult &#039;&#039;&#039;20&#039;&#039;&#039; de caractere;&lt;br /&gt;
* dacă în propoziție există mai multe cuvinte palindrom de lungime maximă, se va afișa primul dintre ele;&lt;br /&gt;
* semnele de punctuație din propoziție pot fi &#039;&#039;&#039;:;.,&#039;&#039;&#039;&lt;br /&gt;
* nu se face distincție între literele mari și cele mici;&lt;br /&gt;
* pentru toate testele date există soluție&lt;br /&gt;
== Exemplul 1 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 121 prieteni analizeaza Un capac; aeriSIrea    radar&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare corespund restrictiilor impuse&lt;br /&gt;
 aeriSIrea&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Exemplul 2 ==&lt;br /&gt;
; Intrare&lt;br /&gt;
 121 prieteni analizeazacevafoarteinteresant Un capac; aeriSIrea    radar&lt;br /&gt;
; Iesire&lt;br /&gt;
 Datele de intrare nu corespund restrictiilor impuse&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Rezolvare ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;python&amp;quot; line&amp;gt;&lt;br /&gt;
import string&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
def main():&lt;br /&gt;
    # Citirea propoziției de la tastatură&lt;br /&gt;
    propozitie = input().strip()&lt;br /&gt;
&lt;br /&gt;
    # Verifică dacă propoziția respectă restricțiile&lt;br /&gt;
    if len(propozitie) &amp;gt; 255:&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
    if any(len(cuvant) &amp;gt; 20 for cuvant in propozitie.split()):&lt;br /&gt;
        print(&amp;quot;Datele de intrare nu corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
        return&lt;br /&gt;
&lt;br /&gt;
    print(&amp;quot;Datele de intrare corespund restrictiilor impuse&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
    # Eliminarea semnelor de punctuație din propoziție&lt;br /&gt;
    propozitie = propozitie.translate(str.maketrans(&#039;&#039;, &#039;&#039;, string.punctuation))&lt;br /&gt;
&lt;br /&gt;
    # Căutarea celui mai lung cuvânt palindrom&lt;br /&gt;
    cuvinte = propozitie.split()&lt;br /&gt;
    cuvinte_palindrom = [cuvant for cuvant in cuvinte if cuvant.lower() == cuvant.lower()[::-1]]&lt;br /&gt;
    cuvant_maxim = max(cuvinte_palindrom, key=len) if cuvinte_palindrom else &amp;quot;nu exista&amp;quot;&lt;br /&gt;
&lt;br /&gt;
    # Afișarea cuvântului obținut&lt;br /&gt;
    print(cuvant_maxim)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
if __name__ == &amp;quot;__main__&amp;quot;:&lt;br /&gt;
    main()&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Hotico Iulia Denisa</name></author>
	</entry>
</feed>