Pagini recente » Cod sursa (job #1797175) | Cod sursa (job #3040699) | Cod sursa (job #2655689) | Cod sursa (job #1187535) | Cod sursa (job #827697)
Cod sursa(job #827697)
#include <fstream>
using namespace std;
int main()
{
ifstream f("tablete.in");
ofstream g("tablete.out");
int N,K;
f>>N>>K;
int a[N],b[N];
int p=0,j,i,m=1,l,c,k;
if(N%2==1 && K%2==0) {
K=N-1;
for(i=1;i<N;i++) {
a[K]=K+p;
for(j=K+1;j<=N;j++) a[j]=a[j-1]+1;
for(j=K-1;j>=1;j--) a[j]=a[j+1]-1;
p+=N+1;
for(j=1;j<=N;j++) g<<a[j]<<" ";
g<<'\n';
}
for(j=1;j<K;j++) g<<j*(N+1)<<" "; g<<N*N-(N*N)%2<<" "; for(j=K;j<N;j++) {g<<N*N-(N*N)%2+m<<" ";m++;}
}
else if(N%2==0 && K%2==0)
for(i=1;i<=N;i++) {
for(j=1;j<=N;j++) {
g<<m<<" ";
m++;
}
g<<'\n';
}
else if(N%2==0 && K%2==1) {
for(i=1;i<=N;i+=2) {
for(j=1;j<=N;j++) {a[j]=m; m++;}
for(l=1;l<=N;l++) {b[l]=m;m++;}
b[1]=a[1];a[N]=b[N];a[1]++;b[N]--;
for(j=2;j<N;j++) a[j]++;
for(l=2;l<N;l++) b[l]--;
for(j=1;j<=N;j++) g<<a[j]<<" "; g<<'\n';
for(l=1;l<=N;l++) g<<b[l]<<" "; g<<'\n';
}
}
else if(N%2==1 && K%2==1) {
for(j=1;j<=N;j++) {a[j]=m;m++;}
c=a[K];
for(j=K;j<=N;j++) a[j]++;
for(j=1;j<=N;j++) g<<a[j]<<" ";
g<<'\n';
for(i=2;i<=N;i+=2) {
for(j=1;j<=N;j++) {a[j]=m;m++;}
for(l=1;l<=N;l++) {b[l]=m;m++;}
a[1]=c; c=b[K]; a[N]=c;
for(l=K;l>=1;l--) b[l]--;
for(j=1;j<=N;j++) g<<a[j]<<" "; g<<'\n';
for(l=1;l<=N;l++) g<<b[l]<<" "; g<<'\n';
}
}
f.close();
g.close();
return 0;
}