Cod sursa(job #1216792)

Utilizator sddddgjdZloteanu Anastasia sddddgjd Data 5 august 2014 19:34:29
Problema Dame Scor 95
Compilator c Status done
Runda Arhiva de probleme Marime 1.21 kb
#include<stdio.h>
int lista[1001];
int main(){
    FILE *fin,*fout;
    fin=fopen("dame.in","r");
    fout=fopen("dame.out","w");
    int n;
    fscanf(fin,"%d",&n);
    int i;
    if(n==2){
        fprintf(fout,"1\n1 1");
        return 0;
    }
    if(n==3){
        fprintf(fout,"2\n1 2\n3 3");
        return 0;
    }
    for(i=1;i<=n/2;i++){
        lista[i-1]=i*2;
    }
    if(n%12==3||n%12==9){
        for(i=0;i<n/2-1;i++)
            lista[i]=lista[i+1];
        lista[n/2-1]=2;
    }
    int cont=1;
    for(i=n/2;i<n;i++){
        lista[i]=cont;
        cont+=2;
    }
    if(n%12==8){
        for(i=n/2;i<n;i+=2){
            int aux=lista[i];
            lista[i]=lista[i+1];
            lista[i+1]=aux;
        }
    }
    if(n%12==2&&n>2){
        int aux=lista[n/2+1];
        lista[n/2+1]=lista[n/2+2];
        lista[n/2+2]=aux;
        for(i=n/2+2;i<n-1;i++)
            lista[i]=lista[i+1];
        lista[n-1]=5;
    }
    if(n%12==3||n%12==9){
        for(i=n/2;i<n-2;i++)
            lista[i]=lista[i+2];
        lista[n-2]=1;
        lista[n-1]=3;
    }
    fprintf(fout,"%d\n",n);
    for(i=0;i<n;i++)
        fprintf(fout,"%d %d\n",i+1,lista[i]);
    return 0;
}