Pagini recente » Cod sursa (job #3246559) | Cod sursa (job #1299261) | Cod sursa (job #268724) | Cod sursa (job #693842) | Cod sursa (job #2338265)
#include <bits/stdc++.h>
using namespace std;
ifstream f("dame.in");
ofstream g("dame.out");
int n,i,j;
int a[1010][1010];
vector<pair<int,int> > ans;
int main()
{
f>>n;
if(n==2)
{
g<<1<<'\n'<<"1 1";
return 0;
}
if(n==3)
{
g<<2<<'\n'<<"1 1\n"<<"3 2";
return 0;
}
if(n%6==1||n%6==5)
for(i=1,j=1; i<=n; i++,j+=2)
{
if(j>n)
j=2;
a[i][j]=1;
ans.push_back({i,j});
}
if(n%6==0||n%6==4)
for(i=1,j=2; i<=n; i++,j+=2)
{
if(j>n)
j=1;
a[i][j]=1;
ans.push_back({i,j});
}
if(n%6==3)
for(i=1,j=1; i<=n; i++,j+=2)
{
int x;
for(i=1,x=4; x<=n; x+=2,i++)
{
a[i][x]=1;
ans.push_back({i,x});
}
a[i][2]=1;
ans.push_back({i,2});
i++;
for(x=5; x<=n; i++,x+=2)
{
a[i][x]=1;
ans.push_back({i,x});
}
a[i][1]=1;
ans.push_back({i,1});
i++;
a[i][3]=1;
ans.push_back({i,3});
}
if(n%6==2)
{
int x;
for(i=1,x=2; x<=n; x+=2,i++)
{
a[i][x]=1;
ans.push_back({i,x});
}
a[i][3]=1;
ans.push_back({i,3});
i++;
a[i][1]=1;
ans.push_back({i,1});
for(i++,x=7; x<=n; x+=2, i++)
{
a[i][x]=1;
ans.push_back({i,x});
}
a[i][5]=1;
ans.push_back({i,5});
}
g<<ans.size()<<'\n';
for(auto it:ans)
g<<it.first<<' '<<it.second<<'\n';
// for(i=1; i<=n; i++)
// {
// for(j=1; j<=n; j++)
// g<<a[i][j]<<' ';
// g<<'\n';
// }
return 0;
}