#include<bits/stdc++.h>
using namespace std;
int main(){
int k; cin>>k;
int n = 94;
vector<vector<int>> g(n+1);
for(int i = 1; i <= 15; i++){
g[i].push_back(2*i);
g[i].push_back(2*i + 1);
}
for(int i = 32; i <= 93; i++){
if(i%2 == 0){
g[i].push_back(i+1);
g[i].push_back(i+2);
}else{
g[i].push_back(i+1);
}
}
for(int i = 0; 1<<i <= k; i++){
if(k &(1<<i)){
g[16 + i/2].push_back(94 - 2*i);
}
}
cout<<n<<"\n";
for(int i = 1; i <= n; i++){
for(int j = 0; j < 2; j++){
if(j < g[i].size()){
cout<<g[i][j]<<" ";
}else{
cout<<"-1 ";
}
}
cout<<"\n";
}
}
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | #include<bits/stdc++.h> using namespace std; int main(){ int k; cin>>k; int n = 94; vector<vector<int>> g(n+1); for(int i = 1; i <= 15; i++){ g[i].push_back(2*i); g[i].push_back(2*i + 1); } for(int i = 32; i <= 93; i++){ if(i%2 == 0){ g[i].push_back(i+1); g[i].push_back(i+2); }else{ g[i].push_back(i+1); } } for(int i = 0; 1<<i <= k; i++){ if(k &(1<<i)){ g[16 + i/2].push_back(94 - 2*i); } } cout<<n<<"\n"; for(int i = 1; i <= n; i++){ for(int j = 0; j < 2; j++){ if(j < g[i].size()){ cout<<g[i][j]<<" "; }else{ cout<<"-1 "; } } cout<<"\n"; } } |
English