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 pentrun
și pentrum
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; } }