Pagini recente » Cod sursa (job #3221742) | Cod sursa (job #802306) | Borderou de evaluare (job #476502) | Cod sursa (job #645073) | Cod sursa (job #1963059)
#include<fstream>
#include<deque>
using namespace std;
ifstream fin("tablete.in");
ofstream fout("tablete.out");
int n, k, nr, a[1005][1005];
deque<int> d;
int main(){
fin >> n >> k;
nr = 1;
if( k % 2 == 0 ){
for( int i = 1; i <= n; i++ ){
for( int j = 1; j <= n; j++ ){
fout << nr << " ";
nr++;
}
fout << "\n";
}
}else{
for( int i = 1; i <= n * n; i++ ){
d.push_back( i );
}
for( int i = 1; i <= n; i++ ){
for( int j = 1; j <= n; j++ ){
a[i][j] = d.front();
d.pop_front();
if( j == k ){
if( n % 2 == 0 ){
nr = a[i][j];
a[i][j] = d.front();
d.pop_front();
}else{
if( i % 2 == 1 ){
nr = a[i][j];
a[i][j] = d.front();
d.pop_front();
}
}
}
}
if( n % 2 == 0 )
d.push_front(nr);
else
if( i % 2 == 1 ){
d.push_front(nr);
}
}
for( int i = n; i >= k; i-- ){
a[n][i] = a[n][i - 1];
}
a[n][k - 1] = a[n - 1][n];
a[n - 1][n] = d.front();
for( int i = 1; i <= n; i++ ){
for( int j = 1; j <= n; j++ ){
fout << a[i][j] << " ";
}
fout << "\n";
}
}
return 0;
}