Pagini recente » Cod sursa (job #680731) | Cod sursa (job #2591625) | Cod sursa (job #1954884) | Cod sursa (job #1892779) | Cod sursa (job #957984)
Cod sursa(job #957984)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("dame.in");
ofstream g("dame.out");
#define Nmax 1099
#define X 12
int n,v[Nmax],k;
int main()
{
f>>n;
if(n==1) g<<1<<'\n'<<"1 1"<<'\n';
else if(n==2)g<<1<<'\n'<<"1 1"<<'\n';
else if(n==3)g<<2<<'\n'<<"1 1"<<'\n'<<"2 3"<<'\n';
else
{
k=0;
if(n % X==3 || n % X==9)
{
//se insereaza numerele pare de la 4 la n si se pune la sfarsitul listei numarul 2
for(int i=4;i<=n;i+=2)v[++k]=i;
v[++k]=2;
//se insereaza numerele pare de la 4 la n si se pun la sfarsitul listei numerele 1,3
for(int i=5;i<=n;i+=2)v[++k]=i;
v[++k]=1;
v[++k]=3;
}
{
//se baga toate numerele pare
for(int i=2;i<=n;i+=2)v[++k]=i;
if(n % X==8)for(int i=1;i<=n;i+=4)
{
v[k]=i+2;
v[++k]=i;
}
if(n % X==2)
{
v[++k]=3;v[++k]=1;
for(int i=7;i<=n;i+=2)v[++k]=i;
v[++k]=5;
}
}
g<<'\n';
for(int i=1;i<=n;i++)g<<i<<" "<<v[i]<<'\n';
}
return 0;
}