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