Cod sursa(job #1233613)
Utilizator | Data | 25 septembrie 2014 19:35:20 | |
---|---|---|---|
Problema | Dame | Scor | 50 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 1.72 kb |
#include <fstream>
using namespace std;
ifstream f("dame.in");
ofstream g("dame.out");
int n,a[100],i,r,x;
int main()
{
f>>n;
if(n==2) g<<n-1<<"\n"<<1<<" "<<1;
else
if(n==3) g<<n-1<<"\n"<<1<<" "<<1<<"\n"<<2<<" "<<3;
else
{ g<<n<<"\n";
r=0;
for(i=2;i<=n;i+=2)
a[++r]=i;
if(n%12==3||n%12==9)
{
for(i=1;i<n;++i)
a[i]=a[i+1];
a[r]=2;
}
for ( int i= 1; i<=r; ++i ) {
g<<i<<" "<<a[i]<<"\n";}
r=0;
for(i=1;i<=n;i+=2)
a[++r]=i;
if(n%12==8)
for(i=2;i<=n;i+=2)
swap(a[i],a[i-1]);
if(n%12==2)
{
swap(a[1],a[2]);
for(i=3;i<r;++i)
a[i]=a[i+1];
a[r]=5;
}
if (n%6==3) {
for(int i=1;i<=r-2;++i) {
a[i]= a[i+2];
}
a[r-1]= 1;
a[r]= 3;
}
for(i=1;i<=r;++i){
g<<n/2+i<<" "<<a[i]<<"\n";
}
}
return 0;
}