Pagini recente » Cod sursa (job #2073960) | Cod sursa (job #2207228) | Cod sursa (job #1878036) | Cod sursa (job #1409323) | Cod sursa (job #2428956)
#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;
int modn = n % 2, modk = k % 2, inext;
if(modk == 0 && modn == 0){
for(i = 1 ; i <= n ; i++)
for(j = 1 ; j <= n ; j++){
mat[i][j] = value;
value++;
}
afisaremat();
return 0;
}
if(modk == 1 && modn == 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(modk == 0 && modn == 1){
for(i = 1 ; i < n ; i += 2){
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;
}
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++;
}
}
value--;
mat[n-1][n] = n * n;
for(j = 1 ; j <= n ; j++){
mat[n][j] = value;
value++;
}
afisaremat();
return 0;
}