Pagini recente » Cod sursa (job #518631) | Cod sursa (job #2637694) | Cod sursa (job #816686) | Cod sursa (job #3250683) | Cod sursa (job #2979679)
#include <fstream>
#include <cassert>
using namespace std;
ifstream fin("dame.in");
ofstream fout("dame.out");
int n, i,mat[1005][1005];
int main()
{
int a=0, b=0, aux, aux2,el,a2,b2;
fin>>n;
if(n==3)
{
fout<<2<<'\n';
fout<<1<<' '<<1<<'\n';
fout<<2<<' '<<3<<'\n';
return 0;
}
if(n==2)
{
fout<<1<<'\n';
fout<<1<<' '<<1;
return 0;
}
fout<<n<<'\n';
for(i=1;i<=n/2+n%2;i++)
{
a=i;
a2=a;
b2=b;
b=2*(i-1)+1;
fout<<a<<' '<<b<<'\n';
while(a2>=1 && b2<=n)
{
mat[a2][b2]=1;
a2--;
b2++;
}
while(a<=n && b<=n)
{
mat[a][b]=1;
a2++;
b2++;
}
}
aux=n/2+n%2+1;
for(i=aux;i<n;i=i+2)
{
el=4*(i-aux)+2;
if(mat[el][i]==0 && mat[el+2][i+1]==0)
{
fout<<i<<" "<<el<<'\n';
fout<<i+1<<" "<<el+2<<'\n';
}
else
{
fout<<i<<" "<<el+2<<'\n';
fout<<i+1<<" "<<el<<'\n';
}
}
if(i==n)
{
fout<<n<<" "<<n-1<<'\n';
}
return 0;
}