Cod sursa(job #233003)
Utilizator | Data | 16 decembrie 2008 18:31:00 | |
---|---|---|---|
Problema | Tablete | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 7.6 kb |
/*#include <stdio.h>
using namespace std;
int main ()
{
int p1,nr=1,n,poz;
freopen ("tablete.in","r",stdin);
freopen ("tablete.out","w",stdout);
scanf ("%d %d",&n,&poz);
if (n%2==0 && poz%2==0)
{
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
printf("%d ",nr++);
printf("\n");
}
}
else
if (n%2==0 && poz%2==1)
{
p1=poz;
for (int i=1;i<p1;i++)
printf("%d ",i);
printf("%d ",p1+1);
for (int i=p1+2;i<=n;i++)
printf("%d ",i);
printf("%d\n",n*n);
printf("%d ",p1);
nr=n+1;
for (int i=2;i<=n;i++)
printf("%d ",nr++);
printf("\n");
for (int i=3;i<=n;i++)
{
for (int j=1;j<=n;j++)
printf("%d ",nr++);
printf("\n");
}
}
else
{
p1=-1;
for (int i=1;i<poz;i++)
printf("%d ",i);
if (poz%2==0)
{
for (int i=poz;i<=n;i++)
printf("%d ",i);
nr=n+1;
printf("\n");
}
else
{
p1=poz;
for (int i=poz+1;i<=n+1;i++)
printf("%d ",i);
printf("\n");
nr=n+2;
}
for (int i=2;i<=n;i++)
{
if (p1!=-1)
{
printf("%d ",p1);
p1=-1;
for (int j=2;j<=n;j++)
printf("%d ",nr++);
}
else
{
for (int j=1;j<poz;j++)
printf("%d ",nr++);
p1=nr;
printf("%d ",nr+1);
nr+=2;
for (int j=poz+1;j<=n;j++)
printf("%d ",nr++);
}
printf("\n");
}
}
return 0;
}*/
/*#include <stdio.h>
using namespace std;
int main ()
{
int p1,nr=1,n,poz;
freopen ("tablete.in","r",stdin);
freopen ("tablete.out","w",stdout);
scanf ("%d %d",&n,&poz);
if (n%2==0 && poz%2==0)
{
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
printf("%d ",nr++);
printf("\n");
}
}
else
if (n%2==0 && poz%2==1)
{
p1=poz;
for (int i=1;i<p1;i++)
printf("%d ",i);
printf("%d ",p1+1);
for (int i=p1+2;i<=n;i++)
printf("%d ",i);
printf("%d\n",n*n);
printf("%d ",p1);
nr=n+1;
for (int i=2;i<=n;i++)
printf("%d ",nr++);
printf("\n");
for (int i=3;i<=n;i++)
{
for (int j=1;j<=n;j++)
printf("%d ",nr++);
printf("\n");
}
}
else
{
p1=-1;
for (int i=1;i<poz;i++)
printf("%d ",i);
if (poz%2==0)
{
for (int i=poz;i<=n;i++)
printf("%d ",i);
nr=n+1;
printf("\n");
}
else
{
p1=poz;
for (int i=poz+1;i<=n+1;i++)
printf("%d ",i);
printf("\n");
nr=n+2;
}
for (int i=2;i<=n;i++)
{
if (p1!=-1)
{
printf("%d ",p1);
p1=-1;
for (int j=2;j<=n;j++)
printf("%d ",nr++);
}
else
{
for (int j=1;j<poz;j++)
printf("%d ",nr++);
p1=nr;
printf("%d ",nr+1);
nr+=2;
for (int j=poz+1;j<=n;j++)
printf("%d ",nr++);
}
printf("\n");
}
}
return 0;
}*/
#include <stdio.h>
using namespace std;
int main ()
{
int p1,nr=1,n,poz;
freopen ("tablete.in","r",stdin);
freopen ("tablete.out","w",stdout);
scanf ("%d %d",&n,&poz);
if (n%2==0 && poz%2==0)
{
for (int i=1;i<=n;i++)
{
for (int j=1;j<=n;j++)
printf("%d ",nr++);
printf("\n");
}
}
else
if (n%2==0 && poz%2==1)
{
p1=poz;
for (int i=1;i<p1;i++)
printf("%d ",i);
printf("%d ",p1+1);
for (int i=p1+2;i<=n;i++)
printf("%d ",i);
printf("%d\n",n*n);
printf("%d ",p1);
nr=n+1;
for (int i=2;i<=n;i++)
printf("%d ",nr++);
printf("\n");
for (int i=3;i<=n;i++)
{
for (int j=1;j<=n;j++)
printf("%d ",nr++);
printf("\n");
}
}
else
{
p1=-1;
for (int i=1;i<poz;i++)
printf("%d ",i);
if (poz%2==0)
{
for (int i=poz;i<=n;i++)
printf("%d ",i);
nr=n+1;
printf("\n");
}
else
{
p1=poz;
for (int i=poz+1;i<=n+1;i++)
printf("%d ",i);
printf("\n");
nr=n+2;
}
for (int i=2;i<=n;i++)
{
if (p1!=-1)
{
printf("%d ",p1);
p1=-1;
for (int j=2;j<=n;j++)
printf("%d ",nr++);
}
else
{
for (int j=1;j<poz;j++)
printf("%d ",nr++);
p1=nr;
printf("%d ",nr+1);
nr+=2;
for (int j=poz+1;j<=n;j++)
printf("%d ",nr++);
}
printf("\n");
}
}
return 0;
}