Lista de probleme 108

Filtrare

#2495 carioci

Pe când era la grădiniță, Maria era pasionată de colorat folosind cariocile. Într-o zi, doamna educatoare i-a dat 4 carioci (de culori diferite). I-a mai dat Mariei un număr foarte mare de cartonașe pătrate, identice ca dimensiuni. I-a spus acesteia să coloreze laturile (cele patru margini) fiecărui cartonaș, așa încât oricare cartonaș să aibă câte o latură de fiecare dintre cele 4 culori. Așa că, toată dimineața fetița a colorat.
Acum, ajungând în gimnaziu, după ce a găsit cartonașele pe care le-a colorat când era mai mică, s-a gândit la următoarea problemă: poate să așeze a x b cartonașe pe o suprafață dreptunghiulară cu a linii și b coloane, astfel încât să fie îndeplinite condițiile: fiecare dintre cele patru laturi ale zonei dreptunghiulare sa fie colorată cu o singură culoare (fiecare latură cu câte o culoare diferită); cartonașele vecine interioare să aibă latura comună de aceeași culoare.
Pentru mai multe perechi (a,b) date, să se afișeze o posibilitate de a aranja cartonașele sau să se spună că acest lucru nu este posibil.

#2554 or

Se consideră numerele naturale X, N și o matrice pătratică A cu N x N elemente numere naturale. Determinați aria minimă a unei submatrice cu proprietatea că efectuând operația or pe biți or între toate elementele submatricei se obține valoarea X.

Balcaniada de Informatică 2018, ziua 2

#2962 traseu3

O suprafață de teren de formă dreptunghiulară este divizată în N fâșii orizontale și M fâșii verticale, de lățimi egale. Se formează astfel N x M zone de formă pătrată, cu latura egală cu o unitate. Astfel, suprafața este reprezentată sub forma unui tablou bidimensional cu N linii și M coloane, în care pentru fiecare zonă este memorat un număr ce reprezintă altitudinea zonei respective. Interesant este că în tablou apar toate valorile 1, 2, …, N•M. Suprafața este destinată turismului. Deoarece spre laturile de Est și Sud ale suprafeței există peisaje de o frumusețe uimitoare, se dorește găsirea unor trasee turistice în care deplasarea să se realizeze cu pași de lungime unitară mergând doar spre Est și spre Sud. O comisie, care trebuie să rezolve această problemă, a stabilit că un traseu este atractiv dacă și numai dacă ultima poziție a traseului are altitudinea mai mare decât prima poziție a traseului. Un traseu poate începe, respectiv se poate încheia, în oricare dintre zonele terenului, cu respectarea condițiilor anterioare. Se cere să se determine numărul maxim Z de zone pe care le poate avea un traseu atractiv.

Avem o matrice de dimensiuni N x M, cu elemente 0 și 1. Numim segment o secvență de cel puțin două valori 1 aflate una lângă alta, toate pe aceeași linie, sau toate pe aceeași coloană a matricei. Se cere determinarea numărului de perechi de segmente:
1. aflate pe linii distincte ale matricei;
2. aflate pe coloane distincte ale matricei;

#3035 lumini

Privită din spațiu, harta insulei din povestea noastră are forma unui caroiaj pătratic cu L linii și L coloane. Liniile și coloanele sunt numerotate de la 1 la L. În fiecare dintre cele L*L celule se află câte un far. Inițial cel de la poziția 1,1 este aprins și toate respectă regula: orice far are farurile vecine (pe linie și coloană, deci maximum 4) în starea opusă față de starea sa. În urma unei furtuni, s-au întâmplat lucruri ciudate: fulgerele au lovit unul după altul și au afectat starea unor faruri. Sunt trei tipuri de fulgere. Prin schimbarea stării unui far înțelegem că acesta se aprinde dacă este stins și se stinge dacă este aprins.
Se dau date despre fulgere, în ordinea în care acestea acționează. Se cere ca la finalul furtunii să se indice care este starea anumitor faruri, aflate la coordonate precizate de pe insulă.

#3037 virus

Există azi mulți viruși care acționează în diferite moduri asupra informației stocate într-un calculator. Printre aceștia există și unii mai puțin periculoși, care se mulțumesc doar să simuleze o anumită alterare a informației. Să presupunem că dorim să scriem un astfel de virus care acționează doar asupra informației de tip text de pe ecranul calculatorului. În mod text, ecranul este constituit din n linii pe fiecare aflându-se câte m caractere. Caracterele sunt reținute în memoria calculatorului prin codul lor ASCII, reprezentat în binar pe 8 biți. Biții sunt numerotați de la 0 la 7 de la dreapta către stânga, cel din stânga fiind cel mai semnificativ bit. La fiecare secundă, virusul transformă simultan toate caracterele de pe ecran. Cunoscând configurația inițială a ecranului, scrieți un program care să rezolve următoarele două cerințe:
1. determină numărul de caractere inatacabile obținute în prima secundă (adică după prima transformare);
2. determină după câte secunde toate caracterele de pe ecran sunt inatacabile.

#3039 tuburi

Pe un perete au fost montate n x m piese pe n rânduri (numerotate de sus în jos, de la 1 la n) și m coloane (numerotate de la stânga la dreapta, de la 1 la m). Piesele sunt tuburi sau coturi având unul dintre tipurile 1, 2, …, 6. Ionel poate introduce o bilă într-o piesă situată pe rândul 1, doar dacă piesa este de tip 2, 4 sau 6. Bila poate coborî un nivel sau se poate deplasa pe orizontală într-o piesă alăturată, dacă îmbinarea pieselor permite aceasta, dar nu poate urca, din cauza gravitației. Bila nu poate trece de două ori prin aceeași piesă și se blochează atunci când nu se mai poate deplasa într-o altă piesă.
Se citesc două numere naturale n, m și apoi n x m numere din mulțimea {1, 2, 3, 4, 5, 6} reprezentând dispunerea pieselor pe perete. Scrieți un program care să rezolve următoarele cerințe:
1. determină numărul maxim de piese prin care poate trece până la blocare o bilă introdusă în una dintre piesele de pe rândul 1, având tipul 2, 4 sau 6;
2. pentru un rând k dat, determină numerele c și t, unde c este coloana minimă pentru care, înlocuind piesa existentă pe rândul k și coloana c cu o piesă de tipul t, se obține un număr cât mai mare posibil de piese prin care poate trece, până la blocare, o bilă introdusă în una dintre piesele de pe rândul 1 având tipul 2, 4 sau 6; dacă există mai multe soluții de a înlocui piesa de pe rândul k și coloana c, se alege varianta cu t minim.

ONIGIM 2019 clasa a VII-a

#3042 amat

Pasionat de informatică și de puzzle-uri, Dorel a construit o matrice A de dimensiunea N × M lipind mai multe piese dreptunghiulare de diferite dimensiuni. Fiecare piesă este compusă din elemente de dimensiunea 1 × 1 și rețin o aceeași valoare. Matricea rezultată nu are spații libere, iar piesele din care este compusă nu se suprapun. Nu există două piese cu aceeași valoare.
Deși inițial părea că acest design este unul inedit, nu a durat mult până când Dorel s-a plictisit. Astfel, acum el dorește să “upgradeze” matricea construită. Dorel alege o submatrice delimitată de coordonatele (x1,y1) – colțul stânga-sus, (x2,y2) – colțul dreapta-jos (1 ≤ x1 ≤ x2 ≤ N, 1 ≤ y1 ≤ y2 ≤ M), unde crește toate valorile elementelor submatricei cu valoarea V.
Dorel efectuează în ordine Q operații de upgrade, operații numerotate de la 1 la Q. La finalizarea celor Q operații de upgrade, toate elementele din matrice au valoarea mai mare sau egală cu K. După o operație de upgrade, structura inițială a matricei se modifică.
Cum priceperea lui Dorel este proverbială, trebuie să îl ajutați în rezolvarea următoarelor cerințe:
1) determinarea coordonatelor piesei cu număr maxim de elemente înainte ca Dorel să efectueze operațiile de upgrade;
2) determinarea numărului minim de operații de upgrade după care toate elementele matricei au valoarea mai mare sau egală cu K.

Parcurgând elementele unei matrice pătratice de dimensiune n în spirală, pornind din colțul din
stânga-sus, în sens orar, de la margini către interior, se obține șirul strict crescător format din toate
valorile de la 1 la n2, ca în figura de mai jos. Din șirul dat se obțin două subșiruri disjuncte, de lungime egală, cu număr maxim de termeni. Primul subșir este format din numere consecutive din prima jumătate a șirului, și trebuie să conțină în mod obligatoriu valoarea 1, iar al doilea este format din numere consecutive din a doua jumătate a șirului și trebuie să conțină în mod obligatoriu valoarea n2.

1 2 3 4 5
16 17 18 19 6
15 24 25 20 7
14 23 22 21 8
13 12 11 10 9

Să se afle poziția în matrice a celui mai mare termen din primul subșir și a celui mai mic termen din al
doilea subșir.

#3441 Cetate

Cetatea Vizima din regatul Temeria poate fi reprezentată printr-o matrice cu N linii și M coloane, numerotate începând cu 1. Vizima este o cetate înfloritoare, fapt datorat numărului mare de negustori și meșteri prezenți. Din acest motiv, fiecărei celule din matrice îi este atribuit un profit corespunzător zonei respective. Regele Foltest dorește să reconstruiască zidurile cetății, dar cum războiul cu Imperiul Nilfgaard bate la ușă și resursele regatului sunt limitate, el trebuie să aleagă o porțiune pe care să o poată apăra, reprezentată ca o submatrice. O submatrice este identificată printr-o configurație de patru numere i1, j1, i2, j2 (1≤i1≤i2≤N, 1≤j1≤j2≤M), în această ordine, și este formată din elementele situate pe liniile consecutive i1, i1+1, …, i2 și pe coloanele consecutive j1, j1+1, …, j2 ale matricei prin care este reprezentată cetatea. Laturile submatricei sunt egale cu numărul de linii, respectiv de coloane din care a preluat elemente, iar profitul submatricei este suma valorilor din celulele sale.

Scrieţi un program care, cunoscând matricea cetății și o valoare K, determină:

  1. profitul maxim al unei submatrice cu laturile egale cu K, precum și configurația prin care se identifică ea;
  2. profitul maxim al unei submatrice cu laturile cel mult egale cu K, precum și configurația prin care se identifică ea.