Lista de probleme 6

Filtrare

Dificultate

Operații intrare/ieșire


Etichete

#3508 Bal

La balul din acest an participă n băieți și n fete, numerotați de la 1 la n. Compatibilitățile dintre aceștia pot fi reprezentate sub forma unui graf bipartit. Fie mat matricea de adiacentă. Atunci, băiatul i se poate cupla cu fata j doar dacă sunt compatibili, adică mat[i][j] = 1. Aflați numărul de moduri de a forma cele n cupluri.

#1825 zoomba

În țara Zoomba trăiesc K prieteni, fiecare în localități diferite. În această țară se găsesc N orașe, oricare două fiind legate prin cel mult o șosea bidirecțională. Deoarece nu s-au mai întâlnit de mult, cei K prieteni s-au hotărât să se reîntâlnească într-un oraș. Fiecare are câte o mașină cu număr nelimitat de locuri. Pentru a trece de la un oraș la altul, o mașină consumă 1 litru de benzină.

Știind că odată ce au ajuns în același oraș 2 sau mai mulți prieteni, aceștia iși pot continua drumul cu o singură mașină, să se determine consumul minim de benzină pentru ca aceștia să ajungă în orașul Z.

Gigel participă la un concurs de informatică împreună cu echipa sa. Echipa sa este formată din n membri. Concursul este împărțit în mai multe nivele, numerotate de la 1 la n. După completarea primului nivel, următorul va fi disponibil și așa mai departe.

Trei ubuntzei au hotărât ca anul acesta să petreacă ziua de 1 Mai pe malul Mării Negre împreună cu prietenii lor, motiv pentru care au pus la cale o excursie pe un traseu care să plece din oraşul lor Cluj-Napoca spre Vama Veche, unde nisipul îi aşteaptă.

În ţara ubuntzeilor există N localităţi, numerotate de la 1 la N, legate între ele prin M şosele bidirecţionale de diferite lungimi. Localitatea de plecare a ubuntzeilor, oraşul Cluj-Napoca, este numerotată cu 1, iar localitatea destinaţie, Vama Veche, cu N. Între oricare două localităţi există cel mult o şosea. Fiecare şosea uneşte două localităţi distincte şi se poate călători între oricare două localităţi circulând numai pe şosele.
Prietenii ubuntzeilor locuiesc în K localităţi distincte, diferite de Cluj-Napoca şi Vama Veche. Pentru a nu călători singuri, cei trei ubuntzei vor să treacă prin cele K localităţi în care locuiesc prietenii lor, şi apoi, împreună cu aceştia, să-şi continue excursia către mare.

Nerăbdători să ajungă cât mai repede la destinaţie, ubuntzeii s-au hotărât să îşi stabilească un traseu de lungime minimă care să treacă prin toate cele K localităţi.

Scrieţi un program care să determine, pentru ubuntzei, lungimea minimă L a unui traseu de la Cluj-Napoca la Vama Veche ce trece prin toate cele K localităţi.

#2867 Norela

Adrian al III-lea este un prinț vrăjitor. De 4 noiembrie, ziua vrăjitoriei, acesta a vrut să o impresioneze pe Norela, fata visurilor lui. El are n cărți de joc, care inițial se află înșirate pe o masă cu fața în jos. Adrian are la dispoziție m magii, o magie fiind de forma: q a1 a2 …, aq. În timpul unei magii, se vor întoarce pe rând şi în ordine cărțile cu indicii a1 a2 …, aq. (numerele sunt distincte două câte două). Cartea va fi întoarsă indiferent dacă aceasta se află cu fața în sus sau cu fața în jos (dacă este cu fața în sus, se va întoarce cu fața în jos, iar dacă este cu fața în jos se va întoarce cu fața în sus), iar fiecare magie poate fi utilizată maxim o dată. Ajutați-l pe Adrian să o impresioneze pe Norela înaintea dușmanului său, Manea cel Sprâncenat! Aflați numărul minim de magii ce trebuie folosite, astfel încât la final toate cărțile să fie cu fața în sus. De asemenea, spuneți și care magii au fost folosite. În cazul în care există mai multe soluții, se va afișa cea minim lexicografică.

Se dă un șir de N numere întregi notat cu A. O subsecvență a șirului A este un șir Ai Ai+1 Ai+2 ... Aj cu 1 ≤ i ≤ j ≤ N, iar lungimea acestei subsecvențe este egală cu j – i + 1. O operație constă în alegerea unei subsecvențe din șir și ștergerea acesteia. În cadrul unei operații, lungimea subsecvenței alese trebuie să fie o putere de 2. În cadrul tuturor operațiilor efectuate pe șir, lungimile subsecvențelor șterse trebuie să fie distincte.

Pentru fiecare subsecvență din șir considerăm suma elementelor ei. Definim costul unui șir ca fiind maximul acestor sume, în cazul în care șirul conține cel puțin un număr pozitiv, altfel costul șirului este egal cu 0.

Putem aplica o succesiune de operații (eventual niciuna) pe șirul A. În urma acestor operații se vor șterge
anumite elemente din șir, obținându-se astfel o mulțime de șiruri M={A, A’1 , A’2, A’3 , ...}.

Să se determine costul maxim posibil ce se poate obține dintr-un șir al mulțimii M.