#include <bits/stdc++.h> using namespace std; #define inf 1000000000000000007 using ll = long long; int k, n, numer, odp[107][2]; int main () { ios_base::sync_with_stdio(0); cin.tie(0); cin >> k; n = 94; odp[1][0] = 2; odp[1][1] = 3; for (int i=0; i<30; i++) { numer = (i+1)*3; odp[numer-1][0] = numer + 2; odp[numer-1][1] = numer + 3; odp[numer][0] = numer + 2; odp[numer][1] = numer + 1; odp[numer+1][0] = numer + 3; int pom = (1<<i) & k; if (pom != 0) odp[numer+1][1] = 94; else odp[numer+1][1] = -1; } odp[92][0] = odp[92][1] = odp[93][0] = odp[93][1] = odp[94][0] = odp[94][1] = -1; cout << n << "\n"; for (int i=1; i<=94; i++) cout << odp[i][0] << " " << odp[i][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 | #include <bits/stdc++.h> using namespace std; #define inf 1000000000000000007 using ll = long long; int k, n, numer, odp[107][2]; int main () { ios_base::sync_with_stdio(0); cin.tie(0); cin >> k; n = 94; odp[1][0] = 2; odp[1][1] = 3; for (int i=0; i<30; i++) { numer = (i+1)*3; odp[numer-1][0] = numer + 2; odp[numer-1][1] = numer + 3; odp[numer][0] = numer + 2; odp[numer][1] = numer + 1; odp[numer+1][0] = numer + 3; int pom = (1<<i) & k; if (pom != 0) odp[numer+1][1] = 94; else odp[numer+1][1] = -1; } odp[92][0] = odp[92][1] = odp[93][0] = odp[93][1] = odp[94][0] = odp[94][1] = -1; cout << n << "\n"; for (int i=1; i<=94; i++) cout << odp[i][0] << " " << odp[i][1] << "\n"; return 0; } |