Pagini recente » Cod sursa (job #375661) | Cod sursa (job #1325606) | Cod sursa (job #3153660) | Cod sursa (job #1881310) | Cod sursa (job #1972378)
#include<fstream>
using namespace std;
ifstream in ("tablete.in" );
ofstream out("tablete.out");
int mat[1010][1010],n,k,i,j,p,s,d,g,poz,lin,alfa,ok;
int main(){
in >> n >> k;
if( n % 2 == 0 && k % 2 == 0 ){
s =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 ){
d=0;
s = 0;
poz=0;
lin =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++;
poz++;
if(poz == k){
poz = 1;
lin++;
}
if( lin <= n){
mat[lin][poz] = i;
}
else{
alfa = i;
}
}
ok =0;
for( j = 1; j <= k; j ++ ){
if(mat[n][j] == 0 ){
ok =1;
}
}
if( ok == 0 ){
break;
}
}
if(alfa>0){
mat[1][k+1] = alfa;
}
g=mat[n][k];
for( i = 1; i <= n; i ++ ){
for( j = k + 1; j <= n; j ++ ){
if( mat[i][j] == 0){
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)*n;
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;
}