Pagini recente » Cod sursa (job #2922059) | Cod sursa (job #1428884) | Cod sursa (job #2510990) | Cod sursa (job #2675919) | Cod sursa (job #3143821)
#include <fstream>
using namespace std;
ifstream cin ("piese.in");
ofstream cout ("piese.out");
int matrice[502][502];
int main ()
{
int linii , coloane;
cin >> linii >> coloane;
for (int linie = 1 , valoare = 1 ; linie <= linii ; linie++)
{
for (int coloana = 1 ; coloana <= coloane ; coloana++)
{
if (!(matrice[linie][coloana] += matrice[linie - 1][coloana] + matrice[linie][coloana - 1] - matrice[linie - 1][coloana - 1]))
{
int lungime = 1;
while (linie + (lungime << 1) - 1 <= linii && coloana + (lungime << 1) - 1 <= coloane)
lungime <<= 1;
matrice[linie][coloana] = valoare;
matrice[linie][coloana + lungime] = -valoare;
matrice[linie + lungime][coloana] = -valoare;
matrice[linie + lungime][coloana + lungime] = valoare;
valoare++;
}
cout << matrice[linie][coloana] << ' ';
}
cout << '\n';
}
cout.close(); cin.close();
return 0;
}