Cod sursa(job #1135003)
Utilizator | Data | 7 martie 2014 09:26:17 | |
---|---|---|---|
Problema | Tablete | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.93 kb |
#include<cstdio>
int n,k,i,j,v[1000001],par=2,imp=1,m;
int main ()
{
freopen("tablete.in","r",stdin);
freopen("tablete.out","w",stdout);
scanf("%d%d",&n,&k);
m=n;
for(i=1;i<=n;i++)
{
if(i<=n*n/2/(n-1))
for(j=1;j<=m;j++)
{
if(j==k)
{
printf("%d ",imp-1);
v[imp-1]=1;
}
else
{
printf("%d ",imp);
imp+=2;
v[imp]=1;
}
}
else
{
if(i==n*n/2/(n-1)+1)
{
int pp=0;
int x=n*n/2-(n-1)*(i-1);
for(j=1;j<=n-x-1;j++)
{
printf("%d ",par);
par+=2;
while(v[par]==1)
par+=2;
if(k==j)
pp=1;
}
if(pp==1)
{
printf("%d ",par);
par+=2;
while(v[par]==1)
par+=2;
for(j=n-x+1;j<=n;j++)
{
printf("%d ",imp);
imp+=2;
}
}
else
{
for(j=n-x;j<=n;j++)
{
if(j==k)
{
printf("%d ",imp-1);
v[imp-1]=1;
}
else
{
printf("%d ",imp);
imp+=2;
}
}
}
}
else
{
for(j=1;j<=n;j++)
{
printf("%d ",par);
par+=2;
while(v[par]==1)
par+=2;
}
}
}
printf("\n");
}
return 0;
}