Pagini recente » Cod sursa (job #450123) | Cod sursa (job #486340) | Cod sursa (job #718924) | Cod sursa (job #203168) | Cod sursa (job #2428952)
#include <fstream>
using namespace std;
ifstream f("tablete.in");
ofstream g("tablete.out");
const int NMAX = 1005;
int n,k,mat[NMAX][NMAX];
void afisaremat(){
int i,j;
for(i = 1 ; i <= n ; i++){
for(j = 1 ; j <= n; j++)
g << mat[i][j] << " ";
g << "\n";
}
}
int main(){
int i,j,value;
f >> n >> k;
value = 1;
if(k % 2 == 0 && n % 2 == 0){
for(i = 1 ; i <= n ; i++)
for(j = 1 ; j <= n ; j++){
mat[i][j] = value;
value++;
}
afisaremat();
return 0;
}
if(k % 2 == 1 && n % 2 == 0){
int inext;
for(i = 1 ; i <= n ; i += 2){
inext = i + 1;
mat[inext][1] = value;
value++;
for(j = 1 ; j < n ; j++){
mat[i][j] = value;
value++;
}
for(j = 2 ; j <= n ; j++){
mat[inext][j] = value;
value++;
}
mat[i][n] = value;
value++;
}
afisaremat();
return 0;
}
if(k % 2 == 0 && n % 2 == 1){
for(i = 1 ; i < n ; i += 2){
int inext = i + 1;
for(j = 1 ; j < n ; j++){
mat[i][j] = value;
value++;
}
for(j = 1 ; j <= n ; j++){
mat[inext][j] = value;
value++;
}
mat[i][n] = value;
value++;
}
for(j = 1 ; j <= n ; j++){
mat[n][j] = value;
value++;
}
afisaremat();
return 0;
}
if(k % 2 == 1 && n % 2 == 1){
for(i = 1 ; i < n ; i += 2){
int inext = i + 1;
mat[inext][1] = value;
value++;
for(j = 1 ; j <= n ; j++){
mat[i][j] = value;
value++;
}
for(j = 2 ; j <= n ; j++){
mat[inext][j] = value;
value++;
}
}
value--;
mat[n-1][n] = n * n;
for(j = 1 ; j <= n ; j++){
mat[n][j] = value;
value++;
}
afisaremat();
return 0;
}
return 0;
}