Pagini recente » Cod sursa (job #1317484) | Cod sursa (job #2002853) | Cod sursa (job #2466666) | Cod sursa (job #1207973) | Cod sursa (job #2021019)
#include <stdio.h>
long i , nr , q , n , x ;
long a[10000];
long t;
int main(){
freopen( "dame.in" , "r" , stdin );
freopen( "dame.out" , "w" , stdout );
scanf( "%ld" , &n );
if( n == 1 || n >= 4 ){
printf( "%ld\n" , n );
nr = 1;
x = 2;
do{
a[nr] = x;
nr++;
x = x + 2;
}while( x <= n );
if( n % 12 == 3 || n % 12 == 9 ){
for( i = 1 ; i < nr ; i++ ){
a[i] = a[ i + 1 ];
}
a[ nr - 1 ] = 2;
}
x = 1;
q = 0;
do{
a[ nr + q ] = x;
q++;
x = x + 2;
}while( x <= n );
if( n % 12 == 8 ){
for( i = nr ; i <= nr + q - 1 ; i = i + 2 ){
t = a[i];
a[i] = a[ i + 1 ];
a[ i + 1 ] = t;
}
}else if( n % 12 == 2 ){
a[nr] = 3;
a[ nr + 1 ]=1;
for( i = nr + 2 ; i <= nr + q - 1 ; i++ ){
a[i] = a[ i + 1 ];
}
a[ nr + q - 1 ]=5;
}else if( n % 12 == 3 || n % 12 == 9 ){
for( i = nr ; i <= nr + q - 1 ; i++) {
a[i] = a[i+2];
a[ nr + q - 2 ] = 1;
a[ nr + q - 1] = 3;
}
}
for( i = 1 ; i <= nr + q - 1 ; i++ ){
printf( "%ld %ld \n" , i , a[i] );
}
}else if( n == 3 ){
printf( "2\n" );
printf( "2 1 \n3 3\n" );
}else if( n == 2 ){
printf( "1\n1 1\n" );
}
return 0;
}