Pagini recente » Cod sursa (job #1026640) | Cod sursa (job #1961427) | Cod sursa (job #1390897) | Cod sursa (job #1352984) | Cod sursa (job #800321)
Cod sursa(job #800321)
# 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 ] << " ";
printf( "%d ", a[ i ][ j ] );
printf( "\n" );
//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()
{
freopen ("tablete.out", "w", stdout );
citire();
rezolva();
afisare();
return 0;
}