思路
思维构造题
先用
2
和
n
−
2
2 和 n - 2
2和n−2 构造到大于114514 然后在用
1
1
1 和 $n - 1构造到
114514
114514
114514
signed main()
{
int n;cin>>n;
if(n <= 4) puts("-1");
else{
vector<int> a;
while(n < 114514){
a.push_back(n-2);
a.push_back(2);
n = (n-2)*2;
}
while(n!=114514){
a.push_back(1);
a.push_back(n-1);
n--;
}
cout << a.size()/2 << endl;
for(int i = 0; i < a.size();i+=2){
cout << a[i] <<" "<<a[i+1] << endl;
}
}
return 0;
}
}