Cod sursa(job #614492)
| Utilizator | Data | 6 octombrie 2011 18:27:37 | |
|---|---|---|---|
| Problema | Tablete | Scor | 100 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 2.97 kb |
#include<iostream>
#include<fstream>
using namespace std;
int main()
{
int i,n,m,a[10000],b[10000],k,j;
ifstream f("tablete.in");
ofstream g("tablete.out");
f>>n>>k;
for(i=1;i<=n;i++)
a[i]=i;
for(i=n+1;i<=2*n;i++)
b[i-n]=i;
if(n%2==0)
{
if (k%2==0)
{
for(i=1;i<=n;i++)
g<<a[i]<<' ';
g<<'\n';
for(i=1;i<=n;i++)
g<<b[i]<<' ';
for(i=3;i<=n;i++)
{
g<<'\n';
if(i%2==1)
for(j=1;j<=n;j++)
g<<a[j]+n*(i-1)<<' ';
else
for(j=1;j<=n;j++)
g<<b[j]+n*(i-2)<<' ';
}
}
else
{
m=k;
for(i=k;i<=n;i++)
a[i]++;
b[1]=m;
a[n]=2*n;
for(i=2;i<=n;i++)
b[i]--;
for(i=1;i<=n;i++)
g<<a[i]<<' ';
g<<'\n';
for(i=1;i<=n;i++)
g<<b[i]<<' ';
for(i=3;i<=n;i++)
{
g<<'\n';
if(i%2==1)
for(j=1;j<=n;j++)
g<<a[j]+n*(i-1)<<' ';
else
for(j=1;j<=n;j++)
g<<b[j]+n*(i-2)<<' ';
}
}
}
else
{
if(k%2==0)
{
a[n]=b[n];
for(i=1;i<=n;i++)
b[i]--;
for(i=1;i<=n;i++)
g<<a[i]<<' ';
g<<'\n';
for(i=1;i<=n;i++)
g<<b[i]<<' ';
for(i=3;i<=n;i++)
{
g<<'\n';
if(i%2==1)
for(j=1;j<=n;j++)
{
if(i==n&&j==n) g<<n*n;
else g<<a[j]+n*(i-1)<<' ';
}
else
for(j=1;j<=n;j++)
g<<b[j]+n*(i-2)<<' ';
}
}
else
{
m=k;
b[1]=k;
for(i=k;i<=n;i++)
a[i]++;
for(i=1;i<=n-3;i++)
{
if(i!=1)g<<'\n';
if(i%2==1)
for(j=1;j<=n;j++)
{
if(i==n&&j==n) g<<n*n;
else g<<a[j]+n*(i-1)<<' ';
}
else
for(j=1;j<=n;j++)
g<<b[j]+n*(i-2)<<' ';
}
g<<'\n';
for(j=1;j<=n;j++)
{
if (j==n)
g<<a[j]+n*(i-1)+2*n-1;
else
g<<a[j]+n*(i-1)<<' ';
}
g<<'\n';
for(j=1;j<=n;j++)
g<<n*i+j<<' ';
g<<'\n';
g<<k+n*(n-3)<<' ';
for(j=1;j<n;j++)
g<<n*i+n+j<<' ';
}
}
f.close();
g.close();
return 0;
}
