Pagini recente » Cod sursa (job #2704083) | Cod sursa (job #2762579) | Cod sursa (job #1455056) | Cod sursa (job #2029974) | Cod sursa (job #1972379)
#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{
lin--;
poz = k-1;
alfa = i;
}
}
ok =0;
if(lin >= n && poz == k-1 && mat[n][k]!=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;
}