Pagini recente » Monitorul de evaluare | Diferente pentru onis-2015/solutii-runda-1 intre reviziile 55 si 54 | Monitorul de evaluare | Monitorul de evaluare | Cod sursa (job #826655)
Cod sursa(job #826655)
#include <iostream>
#include<stdio.h>
#include<stdlib.h>
using namespace std;
int n,k,i,j;
int line1[1002],line2[1002],ln1=2,ln2=2,aux;
int main()
{
freopen("tablete.in","r",stdin);
freopen("tablete.out","w",stdout);
scanf("%d %d",&n,&k);
if(k%2==0)
{
for(i=1; i<=n; i++)
{
for(j=1; j<=n; j++)printf("%d ",n*i-n+j);
printf("\n");
}
}
else{
if(n%2)
{
line1[1]=1; line2[1]=2;
for(i=3; i<=2*n; i++)if((i%4==3) || (i%4==0)) { line2[ln2]=i; ln2++;} else { line1[ln1]=i; ln1++;}
aux=n*n-n+1;
for(i=1; i<n; i++)printf("%d ",line1[i]);
printf("%d \n",aux); aux++;
for(i=1; i<n; i++)printf("%d ",line2[i]);
printf("%d \n",aux); aux++;
j=3;
while(j<n)
{
for(i=1; i<n; i++){ printf("%d ",line1[i]+2*n); line1[i]+=2*n; }
printf("%d \n",aux); aux++;
for(i=1; i<n; i++){printf("%d ",line2[i]+2*n); line2[i]+=2*n; }
printf("%d \n",aux); aux++;
j+=2;
}
j=0;
for(i=1; i<n; i++)if(i%2){j+=2*n-2; printf("%d ",j); } else { j+=2; printf("%d ",j); }
printf("%d",n*n);
}
else{
line1[1]=1; line2[1]=2;
for(i=3; i<=2*n-2; i++)if((i%4==3) || (i%4==0)) { line2[ln2]=i; ln2++;} else { line1[ln1]=i; ln1++;}
line1[n]=2*n-1; line2[n]=2*n;
for(i=1; i<=n; i++)printf("%d ",line1[i]);
printf("\n");
for(i=1; i<=n; i++)printf("%d ",line2[i]);
printf("\n");
j=3;
while(j<n)
{
for(i=1; i<=n; i++){ printf("%d ",line1[i]+2*n); line1[i]+=2*n; }
printf("\n");
for(i=1; i<=n; i++){printf("%d ",line2[i]+2*n); line2[i]+=2*n; }
printf("\n");
j+=2;
}
}
}
return 0;
}