#include <bits/stdc++.h> #define IOSTREAM_BOOST true using namespace std; template <typename T> ostream &operator<<(ostream &os, const vector<T> &vec) { os << "{"; if (!vec.empty()) os << vec[0]; for (int i = 1; i < vec.size(); i++) os << ", " << vec[i]; os << "}"; return os; } int main() { #if IOSTREAM_BOOST ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); #endif int k; cin >> k; cout << 96 + 2 << "\n"; cout << "2 3\n"; for(int i = 0; i < 96 / 3 - 1; i++){ int baseV = i * 3 + 2; cout << baseV + 2 << " " << baseV + 4 << "\n"; cout << baseV + 3 << " " << baseV + 4 << "\n"; cout << baseV + 3 << " " << ((k & (1 << i)) ? 96 + 2 : -1) << "\n"; } cout << "-1 -1\n"; cout << "-1 -1\n"; cout << "-1 -1\n"; cout << "-1 -1\n"; return 0; }
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 38 39 40 | #include <bits/stdc++.h> #define IOSTREAM_BOOST true using namespace std; template <typename T> ostream &operator<<(ostream &os, const vector<T> &vec) { os << "{"; if (!vec.empty()) os << vec[0]; for (int i = 1; i < vec.size(); i++) os << ", " << vec[i]; os << "}"; return os; } int main() { #if IOSTREAM_BOOST ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); #endif int k; cin >> k; cout << 96 + 2 << "\n"; cout << "2 3\n"; for(int i = 0; i < 96 / 3 - 1; i++){ int baseV = i * 3 + 2; cout << baseV + 2 << " " << baseV + 4 << "\n"; cout << baseV + 3 << " " << baseV + 4 << "\n"; cout << baseV + 3 << " " << ((k & (1 << i)) ? 96 + 2 : -1) << "\n"; } cout << "-1 -1\n"; cout << "-1 -1\n"; cout << "-1 -1\n"; cout << "-1 -1\n"; return 0; } |