Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <string.h>
- char strA[25], strB[25];
- int lenA, lenB;
- int haveAns = 0;
- int id[25];
- void find(int indexA, int indexB) {
- int i, j;
- if (indexA == lenA && indexB == lenB) {
- int printed = 0;
- for (i = j = 0; i < lenB; i++) {
- if (id[j] == -1) {
- j++;
- continue;
- }
- if (printed) printf(" ");
- while (j < lenA && id[j] == i) {
- printf("%c", strA[j]);
- printed = 1;
- j++;
- }
- }
- printf("\n");
- haveAns = 1;
- }else if (indexA < lenA && indexB < lenB) {
- if (strB[indexB] == '#') {
- id[indexA] = indexB;
- find(indexA + 1, indexB + 1);
- find(indexA + 1, indexB);
- }else {
- id[indexA] = -1;
- if (strA[indexA] == strB[indexB])
- find(indexA + 1, indexB + 1);
- }
- }
- }
- int main() {
- scanf("%s %s", strA, strB);
- lenA = strlen(strA);
- lenB = strlen(strB);
- find(0, 0);
- if (!haveAns) {
- printf("What the hack!?\n");
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement