Cod sursa(job #127563)

Utilizator savimSerban Andrei Stan savim Data 24 ianuarie 2008 13:12:55
Problema Dame Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.21 kb
#include <stdio.h>
int main()
{
    int i,j,n,t;
    int a[1001];
    freopen("dame.in","r",stdin);
    freopen("dame.out","w",stdout);
        
    scanf("%d",&n);
    if (n==1) { printf("1 1\n"); return 0;}
    if (n==2) { printf("1 1\n"); return 0;}
    if (n==3) { printf("1 1\n2 3\n"); return 0;}

    t=n%12;
    j=2;i=0;
    
    while (j<=n)
    {
        i++;
        a[i]=j;
        j+=2;      
    }
    
    if (t==3 || t==9)
    {
       for (j=1; j<=i-1; j++)
           a[j]=a[j+1];
       a[i]=2;
    }
    
    j=1;
    while (j<=n)
    {
        i++;
        a[i]=j;
        j+=2;      
    }
    
    if (t==8)
    {
       i=0;
	   for (i=n/2+2; i<=n; i+=2)
       {
           int x=a[i];
           a[i]=a[i-1];
           a[i-1]=x;    
       }         
    }
    
    if (t==2)
    {
       a[n/2+1]=3;
       a[n/2+2]=1;
       for (i=n/2+3; i<=n-1; i++)
           a[i]=a[i+1];
       a[n]=5;         
    }
    
    if (t==3)
    {
       for (i=n/2+1; i<=n-2; i++)         
           a[i]=a[i+2];
       a[n-1]=1;
       a[n]=3;
    }
    
    printf("%d\n",n);
    for (i=1; i<=n; i++)
        printf("%d %d\n",i,a[i]);

    return 0;    
}