Pagini recente » Cod sursa (job #373536) | Cod sursa (job #831090) | Cod sursa (job #712131) | Cod sursa (job #2862374) | Cod sursa (job #8932)
Cod sursa(job #8932)
#include<stdio.h>
#include<iostream.h>
FILE *fin,*fout;
int d[1001],c[1001],n,i,j,k,lc,cc;
int f(int n)
{
if(n%2==0)
return n/2;
else return n/2+1;
}
int main()
{
fin=fopen("dame.in","rt");
fout=fopen("dame.out","wt");
fscanf(fin,"%d",&n);
if(n==2)n--;
if(n==3)n--;
fclose(fin);
lc=1;
cc=f(n);
c[cc]=1;
d[cc-lc+n]=1;
i=f(n)-1;
fprintf(fout,"%d\n",n);
fprintf(fout,"%d %d\n",lc,cc);
while(i>0)
{
lc+=2;
cc--;
c[cc]=d[cc-lc+n]=1;
fprintf(fout,"%d %d\n",lc,cc);
i--;
}
i=n/2;
lc=2;
cc= (n-lc+2>f(n)+1)?n-lc+2:f(n)+1;
while(i>0)
{
if(cc>n || c[cc]==1)
cc=(n-lc+2>f(n)+1)?n-lc+2:f(n)+1;
while(d[cc-lc+n]==1 || c[cc]==1 && cc<n )
cc++;
fprintf(fout,"%d %d\n",lc,cc);
c[cc]=1;
lc+=2;
cc++;
i--;
}
fclose(fout);
return 0;
}