Cod sursa(job #175717)

Utilizator bogdanhm999Casu-Pop Bogdan bogdanhm999 Data 10 aprilie 2008 12:37:51
Problema Dame Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.02 kb
#include <stdio.h>

long n,i,p,q,v[1005];

int main(){
    freopen("dame.in","r",stdin);
    freopen("dame.out","w",stdout);
    
    scanf("%ld",&n);
    
    if (n==1||n==2){printf("%ld\n%ld %ld\n",1,1,1);return 0;}
    if (n==3){printf("%ld\n%ld %ld\n%ld %ld\n",2,1,1,2,3);return 0;}
    
    p=1;q=0;
    for (i=2;i<=n;i+=2)
        v[++q]=i;
    if (n%12==3||n%12==9){
       p++;
       v[++q]=2;
       for (i=5;i<=n;i+=2)
           v[++q]=i;
       v[++q]=1;
       v[++q]=3;
    }
    if (n%12==2){
       v[++q]=3;
       v[++q]=1;
       for (i=7;i<=n;i+=2)
           v[++q]=i;
       v[++q]=5;
    }
    else if (n%12==8){
            for (i=1;i<=n;i+=4){
                if(i+2<=n)v[++q]=i+2;
                v[++q]=i;
            }
         }
         else if (n%12!=3&&n%12!=9)
                 for (i=1;i<=n;i+=2)
                     v[++q]=i;

    printf("%ld\n",q-p+1);
    for (i=p;i<=q;i++)
        printf("%ld %ld\n",i-p+1,v[i]);
    
return 0;
}