# PBinfo #571 – sah – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: andrei

## Enunț

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 unei 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

## Cod sursă C++

```cpp
#include <bits/stdc++.h>
using namespace std;
int mat[1001][1001], n, m, k, i, j, temp1, temp2, temp3 = 2;
int main() {
    cin >> n >> m >> k;
    for (i = 1; i <= n; i += k) {
        if (temp3 == 1) temp3 = 2;
        else temp3 = 1;
        if (temp3 == 1)
            for (j = k + 1; j <= m; j += k * 2)
                for (temp1 = i; temp1 <= i + k - 1; temp1++)
                    for (temp2 = j; temp2 <= j + k - 1; temp2++)
                        mat[temp1][temp2] = 1;
        else
            for (j = 1; j <= m; j += k * 2)
                for (temp1 = i; temp1 <= i + k - 1; temp1++)
                    for (temp2 = j; temp2 <= j + k - 1; temp2++)
                        mat[temp1][temp2] = 1;
    } for (i = 1; i <= n; i++) {
        for (j = 1; j <= m; j++)
            cout << mat[i][j];
        cout << endl;
    } return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/571)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/571/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-571/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
