#include #include #include #define MAX_N 1000 int binToDecimal(char *bin) { int decimal = 0; int len = strlen(bin); for (int i = 0; i < len; i++) { decimal = decimal * 2 + (bin[i] - '0'); } return decimal; } void findPermutation(char *C, int N) { char *binary[MAX_N]; int permutation[MAX_N]; int len = strlen(C) / N; for (int i = 0; i < N; i++) { binary[i] = (char *)malloc((len + 1) * sizeof(char)); strncpy(binary[i], C + i * len, len); binary[i][len] = '\0'; permutation[i] = binToDecimal(binary[i]) + 1; } for (int i = 0; i < N; i++) { printf("%d ", permutation[i]); free(binary[i]); } } int main() { char C[MAX_N]; scanf("%s", C); int N = strlen(C); findPermutation(C, N); return 0; }