#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"; } } |