#include <ctype.h>
#include <stdio.h>
#include <string.h>
int main() {
const int max_words = 20000;
char cipher[(max_words) * 11];
char cipher_chunk[max_words][10 + 1];
char decoded_chunk[max_words][10 + 1];
int key[max_words];
int number_of_words;
scanf("%d", &number_of_words
); for (int i = 0; i < number_of_words; i++) {
}
const char delimiter_set[] = ",.-";
// TODO: split the cipher into chunks
// HINT: strtok() & strcpy()
int k=0;
for(int i=0; i < number_of_words; i++){
for(j=0;)
cipher_chunk[i][j]=cipher[k++];
}
for (int i = 0; i < number_of_words; i++) {
int shift = key[i];
for (size_t j
= 0; j
< strlen(cipher_chunk
[i
]); j
++) { char c = cipher_chunk[i][j];
// TODO: decode lowercase letters
} else {
// TODO: decode uppercase letters
}
}
decoded_chunk
[i
][strlen(cipher_chunk
[i
])] = '\0'; }
for (int i = 0; i < number_of_words; i++) {
printf("%s%c", decoded_chunk
[i
], " \n"[i
== number_of_words
- 1]); }
return 0;
}
I2luY2x1ZGUgPGN0eXBlLmg+CiNpbmNsdWRlIDxzdGRpby5oPgojaW5jbHVkZSA8c3RyaW5nLmg+CgppbnQgbWFpbigpIHsKICAgIGNvbnN0IGludCBtYXhfd29yZHMgPSAyMDAwMDsKICAgIGNoYXIgY2lwaGVyWyhtYXhfd29yZHMpICogMTFdOwogICAgY2hhciBjaXBoZXJfY2h1bmtbbWF4X3dvcmRzXVsxMCArIDFdOwogICAgY2hhciBkZWNvZGVkX2NodW5rW21heF93b3Jkc11bMTAgKyAxXTsKICAgIGludCBrZXlbbWF4X3dvcmRzXTsKCiAgICBpbnQgbnVtYmVyX29mX3dvcmRzOwogICAgc2NhbmYoIiVkIiwgJm51bWJlcl9vZl93b3Jkcyk7CiAgICBzY2FuZigiJXMiLCBjaXBoZXIpOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1iZXJfb2Zfd29yZHM7IGkrKykgewogICAgICAgIHNjYW5mKCIlZCIsICZrZXlbaV0pOwogICAgfQoKCiAgICBjb25zdCBjaGFyIGRlbGltaXRlcl9zZXRbXSA9ICIsLi0iOwogICAgLy8gVE9ETzogc3BsaXQgdGhlIGNpcGhlciBpbnRvIGNodW5rcwogICAgLy8gSElOVDogc3RydG9rKCkgJiBzdHJjcHkoKQogICAgaW50IGs9MDsKZm9yKGludCBpPTA7IGkgPCBudW1iZXJfb2Zfd29yZHM7IGkrKyl7Cglmb3Ioaj0wOykKCQljaXBoZXJfY2h1bmtbaV1bal09Y2lwaGVyW2srK107Cn0KCiAgICBmb3IgKGludCBpID0gMDsgaSA8IG51bWJlcl9vZl93b3JkczsgaSsrKSB7CiAgICAgICAgaW50IHNoaWZ0ID0ga2V5W2ldOwoKICAgICAgICBmb3IgKHNpemVfdCBqID0gMDsgaiA8IHN0cmxlbihjaXBoZXJfY2h1bmtbaV0pOyBqKyspIHsKICAgICAgICAgICAgY2hhciBjID0gY2lwaGVyX2NodW5rW2ldW2pdOwogICAgICAgICAgICBpZiAoaXNsb3dlcihjKSkgewogICAgICAgICAgICAgICAgLy8gVE9ETzogZGVjb2RlIGxvd2VyY2FzZSBsZXR0ZXJzCiAgICAgICAgICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgICAvLyBUT0RPOiBkZWNvZGUgdXBwZXJjYXNlIGxldHRlcnMKICAgICAgICAgICAgfQogICAgICAgIH0KICAgICAgICBkZWNvZGVkX2NodW5rW2ldW3N0cmxlbihjaXBoZXJfY2h1bmtbaV0pXSA9ICdcMCc7CiAgICB9CgogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBudW1iZXJfb2Zfd29yZHM7IGkrKykgewogICAgICAgIHByaW50ZigiJXMlYyIsIGRlY29kZWRfY2h1bmtbaV0sICIgXG4iW2kgPT0gbnVtYmVyX29mX3dvcmRzIC0gMV0pOwogICAgfQoKICAgIHJldHVybiAwOwp9