Cod sursa(job #827686)

Utilizator Toast97Calin Farcas Toast97 Data 2 decembrie 2012 14:44:45
Problema Tablete Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#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;

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 {


}
}