#include <bits/stdc++.h> using namespace std; //vector <long long> v; //stack <long long> s, s2; //bbbbaaaa queue <long long> s; long long int z[1], x[200][2], y[10000], m, szu, wy[10][1]; char s1[1], s2[1], cc; int war(const void*a, const void *b) { if(*(long long*)a>*(long long*)b)return(1); return(0); } int main() { long long int c, d, e, f, g, i, j, q, t, k, a, n, b, w, p; t=1; //scanf("%lld", &t); //for(q=1; q<=t; q++) { scanf("%lld", &n); for(i=1; i<=100; i++) { x[i][0]=-1; x[i][1]=-1; } for(i=1; i<=32; i++) { x[i][0]=i+33; x[i+33][0]=i+1; x[i+33][1]=i+66; x[i+66][0]=i+1; } a=n; for(i=1; i<33; i++) { if(a%2==1)x[i][1]=100; a/=2; } printf("100\n"); for(i=1; i<101; i++) { printf("%lld %lld\n", x[i][0], x[i][1]); } } 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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | #include <bits/stdc++.h> using namespace std; //vector <long long> v; //stack <long long> s, s2; //bbbbaaaa queue <long long> s; long long int z[1], x[200][2], y[10000], m, szu, wy[10][1]; char s1[1], s2[1], cc; int war(const void*a, const void *b) { if(*(long long*)a>*(long long*)b)return(1); return(0); } int main() { long long int c, d, e, f, g, i, j, q, t, k, a, n, b, w, p; t=1; //scanf("%lld", &t); //for(q=1; q<=t; q++) { scanf("%lld", &n); for(i=1; i<=100; i++) { x[i][0]=-1; x[i][1]=-1; } for(i=1; i<=32; i++) { x[i][0]=i+33; x[i+33][0]=i+1; x[i+33][1]=i+66; x[i+66][0]=i+1; } a=n; for(i=1; i<33; i++) { if(a%2==1)x[i][1]=100; a/=2; } printf("100\n"); for(i=1; i<101; i++) { printf("%lld %lld\n", x[i][0], x[i][1]); } } return(0); } |