Cod sursa(job #2774844)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 13 septembrie 2021 07:15:30
Problema Dame Scor 100
Compilator c-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include<stdio.h>
int n,a[1001],i,k,l,x;
int main()
{
    freopen("dame.in","r",stdin),freopen("dame.out","w",stdout),scanf("%d",&n);
    if(n==1||n==2)
        printf("1\n1 1");
    else if(n==3)
        printf("2\n1 1\n2 3");
    else {
        printf("%d\n",n);
        for(i=2;i<=n;i+=2)
            a[++k]=i;
        if(n%12==3||n%12==9) {
            for(i=1;i<k;++i)
                a[i]=a[i+1];
            a[k]=2;
        }
        for(l=k,i=1;i<=n;i+=2)
            a[++k]=i;
        if(n%12==8)
            for(i=l+1;i<=k;i+=2)
                x=a[i],a[i]=a[i+1],a[i+1]=x;
        else if(n%12==2) {
            for(x=a[l+1],a[l+1]=a[l+2],a[l+2]=x,i=l+3;i<k;++i)
                a[i]=a[i+1];
            a[k]=5;
        }
        else if(n%12==3||n%12==9) {
            for(i=l+1;i<k-1;++i)
                a[i]=a[i+2];
            a[k-1]=1,a[k]=3;
        }
        for(i=1;i<=n;++i)
            printf("%d %d\n",i,a[i]);
    }
    return 0;
}