Pagini recente » Cod sursa (job #37518) | Cod sursa (job #137812) | Cod sursa (job #1624021) | Cod sursa (job #3126053) | Cod sursa (job #609930)
Cod sursa(job #609930)
#include <iostream.h>
#include <fstream.h>
int main(){
ifstream f("tablete.in");
ofstream g("tablete.out");
long a[1000][1000],n,k,aux;
f>>n>>k;
int x=1;
for(int i=1; i<=n-1; i++)
for(int j=1; j<=k; j++) a[i][j]=x++;
if(k%2==0){
for(int i=1; i<=n; i++)
for(int j=k+1; j<=n; j++)
a[i][j]=x++;
}
if((k%2!=0)&&(n%2==0)){
for(int i=1; i<=n; i++)
for(int j=1; j<=k; j++)
if((i%2!=0)&&(j==k)){
aux=a[i][j];
a[i][j]=a[i+1][1];
a[i+1][1]=aux;}
for(int i=1;i<=n;i++)
for(int j=k+1;j<=n;j++) a[i][j]=x++;
}
if((k%2!=0)&&(n%2!=0)){
for(int i=1; i<=n-1; i++)
for(int j=1; j<=k; j++)
if((i%2!=0)&&(j==k)){
aux=a[i][j];
a[i][j]=a[i+1][1];
a[i+1][1]=aux;}
int y=(n-1)*k+1;
for(int j=1; j<=k-1; j++)
a[n][j]=y++;
y+=2;
a[n][k]=y;
a[1][k+1]=n*k;
for(int i=2;i<=n;i++)
for(int j=k+1;j<=n;j++) a[i][j]=y++;
}
for(int i=1; i<=n; i++){
for(int j=1; j<=n; j++)
g<<a[i][j]<<" ";
g<<endl;}
f.close();
g.close();
return 0;
}