fbpx

Problema #571 – Sah – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

O tablă de șah generalizată de tip n m k este o matrice cu n linii (numerotate de la 1 la n) și m coloane (numerotate de la 1 la m) cu elemente 0 și 1 grupate în pătrate alternante de dimensiune k, pătratul din care face parte elementul (1 1) fiind format din 0.

Construiți o tablă de șah generalizată de tip n m k.

Date de intrare

Programul citește de la tastatură numerele n m k.

Date de ieșire

Programul va afișa pe ecran matricea construită, câte o linie a matricei pe o linie a ecranului; elementele unui linii nu sunt separate prin spații sau alte caractere.

Restricții și precizări

  • 1 ≤ n, m ≤ 1000
  • 1 ≤ k ≤ min(n,m)
  • k este divizor pentru n și pentru m

Exemplu

Intrare

6 8 2

Ieșire

00110011
00110011
11001100
11001100
00110011
00110011
#include <bits/stdc++.h>
using namespace std;
int a[1001][1001] , n , m , k , i , j , t1 , t2 , r = 2 ;
int main()
{
    cin >> n >> m >> k;
    for(i = 1 ; i <= n ; i += k)
    {
        if(r == 1) r = 2;
        else r = 1;
        if(r == 1)
            for(j = k + 1 ; j <= m ; j += k * 2)
                for(t1 = i ; t1 <= i + k - 1 ; ++t1)
                    for(t2 = j ; t2 <= j + k - 1 ; ++t2)
                        a[t1][t2] = 1;
        else
            for(j = 1 ; j <= m ; j += k * 2)
                for(t1 = i ; t1 <= i + k - 1 ; ++t1)
                    for(t2 = j ; t2 <= j + k - 1 ; ++t2)
                        a[t1][t2] = 1;
    }
    for(i = 1 ; i <= n ; ++i)
    {
        for(j = 1 ; j <= m ; ++j)
            cout<< a[i][j];
        cout << endl;
    }
}
Comentarii

S-ar putea sa iti placa