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