#include <stdio.h> #include <strings.h> #include <stdlib.h> int main() { long long k; int i,n; char s[1002000],l; scanf("%d %Ld", &n, &k); k--; for (i=0; i<n; ++i) { s[n-i-1] = k % 2; k /= 2; } if (k>1 || (k==1 && s[0] ==1)) { printf("NIE\n"); return 0; } l = 2; i = 0; if (k) { printf("c"); i++; } for (;i<n; i++) { if (l==0) { if (!s[i]) { printf("b"); l=1; } else { printf("c"); l=2; } } else if (l==1) { if (!s[i]) { printf("a"); l=0; } else { printf("c"); l=2; } } else if (l==2) { if (!s[i]) { printf("a"); l=0; } else { printf("b"); l=1; } } } printf("\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 | #include <stdio.h> #include <strings.h> #include <stdlib.h> int main() { long long k; int i,n; char s[1002000],l; scanf("%d %Ld", &n, &k); k--; for (i=0; i<n; ++i) { s[n-i-1] = k % 2; k /= 2; } if (k>1 || (k==1 && s[0] ==1)) { printf("NIE\n"); return 0; } l = 2; i = 0; if (k) { printf("c"); i++; } for (;i<n; i++) { if (l==0) { if (!s[i]) { printf("b"); l=1; } else { printf("c"); l=2; } } else if (l==1) { if (!s[i]) { printf("a"); l=0; } else { printf("c"); l=2; } } else if (l==2) { if (!s[i]) { printf("a"); l=0; } else { printf("b"); l=1; } } } printf("\n"); return 0; } |