Pagini recente » Cod sursa (job #2555790) | Cod sursa (job #2027337) | Cod sursa (job #480088) | Cod sursa (job #48168) | Cod sursa (job #800315)
Cod sursa(job #800315)
# include <fstream>
# include <cstring>
# include <algorithm>
# define dim 1005
using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
int a[ dim ][ dim ];
int viz[ dim * dim ];
int n, k;
void citire()
{
f >> n >> k;
}
void afisare()
{
int i, j;
for ( i = 1 ; i <= n ; i++ )
{
for ( j = 1 ; j <= n ; j++ )
g << a[ i ][ j ] << " ";
g << "\n";
}
}
void rezolva()
{
int i, j, nr = 1;
for ( i = 1 ; i <= n ; i++ )
{
nr = i * k;
for ( j = k ; j >= 1 ; j-- )
{
if ( j == k )
{
while( nr % 2 != 0 || viz[ nr ] == 1 )
nr++;
a[ i ][ j ] = nr;
viz[ nr ] = 1;
}
else
{
while( viz[ nr ] == 1 )
nr--;
a[ i ][ j ] = nr;
viz[ nr ] = 1;
}
}
}
for ( i = n ; i >= 1 ; i-- )
{
for ( j = k + 1 ; j <= n ; j++ )
{
nr = a[ i ][ j - 1 ];
while( viz[ nr ] == 1 )
nr++;
a[ i ][ j ] = nr;
viz[ nr ] = 1;
}
}
}
int main()
{
citire();
rezolva();
afisare();
return 0;
}