fbpx

Problema #840 – Croco – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dă o matrice cu n linii și m coloane și elemente 0 sau 1, care reprezintă harta unui lac, în care 1 înseamnă uscat, iar 0 înseamnă apă.

Să se plaseze pe fiecare zonă cu uscat un crocodil sau un elefant astfel încât să nu fie două animale din aceeași specie în zone învecinate.

Date de intrare

Fișierul de intrare croco.in conține pe prima linie numerele n m. Următoarele n linii conțin câte m elemente, 0 sau 1, cu semnificația din enunț.

Date de ieșire

Fișierul de ieșire croco.out va conține n linii, fiecare cu câte m caractere din mulțimea {A, C, E}, separate prin câte un spațiu, după cum în zona corespunzătoare a lacului este apa, crocodil sau elefant.

Restricții și precizări

  • 1 ≤ n , m ≤ 100
  • se acceptă orice soluție corectă

Exemplu

croco.in

3 5
1 1 1 0 1
1 1 0 1 1
0 1 1 0 1

croco.out

C E C A C
E C A C E
A E C A C
#include <bits/stdc++.h>
using namespace std;

ifstream cin("croco.in");
ofstream cout("croco.out");

bool a[101][101];

int main()
{
    int n , m;
    cin >> n >> m;
    for(int i = 0 ; i < n ; ++i)
        for(int j = 0 ; j < m ; ++j)
            cin >> a[i][j];
    for(int i = 0 ; i < n ; ++i)
    {
        for(int j = 0 ; j < m ; ++j)
        {
            if(a[i][j]==1 && (i + j) % 2 == 0)
                cout << "C ";
            else if(a[i][j]==1)
                cout << "E ";
            else
                cout << "A ";
        }
        cout << endl;
    }
    return 0;    
}
Comentarii

S-ar putea sa iti placa