Pagini recente » Cod sursa (job #235437) | Cod sursa (job #1099032) | Cod sursa (job #363238) | Cod sursa (job #2583933) | Cod sursa (job #1972358)
#include<fstream>
using namespace std;
ifstream in ("tablete.in" );
ofstream out("tablete.out");
int mat[1010][1010],n,k,i,j,p,s,d,w[100001],g;
int main(){
in >> n >> k;
if( n % 2 == 0 && k % 2 == 0 ){
for( i = 1; i <= n; i ++ ){
for( j = 1; j <= n; j ++ ){
s++;
mat[i][j] = s;
}
}
for( i = 1; i <= n; i ++ ){
for( j = 1; j <= n; j ++ ){
out<<mat[i][j]<<" ";
}
out<<"\n";
}
}
if( k % 2 == 1 ){
for( i = 1; i <= n*n; i ++ ){
if( i % 2 == 0 && p >= k - 1 ){
s++;
mat[s][k] = i;
p=p-k+1;
}
else{
p++;
d++;
w[d] = i;
}
}
d = 0;
for( i = 1; i <= n; i ++ ){
for( j = 1; j <= k-1; j ++ ){
d++;
mat[i][j] =w[d];
}
}
g = n*k;
for( i = 1; i <= n; i ++ ){
for( j = k + 1; j <= n; j ++ ){
g++;
mat[i][j] = g;
}
}
for( i = 1; i <= n; i ++ ){
for( j = 1; j <= n; j ++ ){
out<<mat[i][j]<<" ";
}
out<<"\n";
}
}
if( n % 2 == 1 && k % 2 == 0 ){
for( i = 1; i <= n; i ++ ){
for( j = 1; j <= n-1; j ++ ){
s++;
mat[i][j] = s;
}
}
g=(n-1)*k;
for( i = 1; i <= n; i ++ ){
g++;
mat[i][n] = g;
}
for( i = 1; i <= n; i ++ ){
for( j = 1; j <= n; j ++ ){
out<<mat[i][j]<<" ";
}
out<<"\n";
}
}
return 0;
}