#include <stdio.h>
#define BITS (30)
#define N (3*BITS+1)
int main() {
int k;
scanf("%d", &k);
printf("%d\n", N);
printf("-1 %d\n", (BITS*2+1));
printf("-1 %d\n", N);
printf("-1 %d\n", N);
for(int i = 1; i < BITS-1; i++) {
printf("%d %d\n", i*2, i*2+1);
printf("%d %d\n", i*2, i*2+1);
}
printf("%d %d\n", BITS*2-2, BITS*2-1);
for(int i = 0; i < BITS-1; i++) {
printf("%d %d\n", (k % 2 == 1 ? i*2+2 : -1), BITS*2+2+i);
k = k / 2;
}
printf("%d -1\n", (k == 1 ? BITS*2 : -1));
printf("-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 | #include <stdio.h> #define BITS (30) #define N (3*BITS+1) int main() { int k; scanf("%d", &k); printf("%d\n", N); printf("-1 %d\n", (BITS*2+1)); printf("-1 %d\n", N); printf("-1 %d\n", N); for(int i = 1; i < BITS-1; i++) { printf("%d %d\n", i*2, i*2+1); printf("%d %d\n", i*2, i*2+1); } printf("%d %d\n", BITS*2-2, BITS*2-1); for(int i = 0; i < BITS-1; i++) { printf("%d %d\n", (k % 2 == 1 ? i*2+2 : -1), BITS*2+2+i); k = k / 2; } printf("%d -1\n", (k == 1 ? BITS*2 : -1)); printf("-1 -1\n"); return 0; } |
English