Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Alisia
0 / 0 / 0
Регистрация: 05.11.2011
Сообщений: 23
#1

можно ли вставить между буквами первой строки буквы второй - C++

19.11.2011, 01:29. Просмотров 461. Ответов 0
Метки нет (Все метки)

Вот задачка:
аны две строки - A и B. Спрашивается, можно ли вставить между буквами первой строки буквы второй, сохранив их относительный порядок, таким образом, чтобы получилась строка C. При этом необходимо использовать все буквы строк A и B.

Входные данные
В первой строке находится натуральное число T (1 <= T <= 20) - количество тестов во входном файле. Далее для каждого теста даны три непустые строки (A, B и C), состоящие из больших и маленьких латинских букв. Длины строк не превосходят 200 символов.

Выходные данные
Для каждого теста выведите на отдельной строке Yes, если возможно заданным образом получить строку C и No в противном случае.

Пример

Ввод
3
BACA
ABA
ABACABA
BACA
ABA
ABACABADABACABA
BACA
ABA
ABA

Вывод
Yes
No
No

вот мой код:
C++
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
38
39
40
41
42
43
44
45
46
47
#include <iostream>
#include <string>
using namespace std;
 
const int MAXN = 200;
 
int arr[MAXN][MAXN];
string a;
string b;
string c;
 
int calc (int i, int j)
{
    if (arr[i][j] != -1)
        return arr[i][j];
    if (i == 0 && j == 0)
        arr[i][j] = 1;  
    else
    {
        arr[i][j] = 0;
        if (i > 0 && a[i-1] == c[i + j - 1] && calc(i - 1, j) == 1)
            arr[i][j] = 1;
        if (j > 0 && b[j - 1] == c[i + 1 -1] && calc(i, j - 1) == 1)
            arr[i][j] = 1;
    }
 
    return arr[i][j];
 
}
 
int main () 
{   
    int n;
    cin >> n;
    for (int i = 0; i < n; i++)
        getline (cin, a), getline (cin, b), getline (cin, c);
 
 
    memset (arr, -1, sizeof(arr));
 
    if (calc (n, n))
        cout << "YES" << endl;
    else
        cout << "NO" << endl;
 
    return 0;
}
Подскажите, где фигню я делаю? и как исправить. сама не допираю ((
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.11.2011, 01:29     можно ли вставить между буквами первой строки буквы второй
Посмотрите здесь:

Как из первой строки удалить те буквы, которые есть во второй строке? - C++
Как из первой строки удалить те буквы, которые есть во второй строке???

Сделать копию части строки между первой '*' и второй - C++
ввести строку произвольной длины(&lt;80 символов),содержащую два символа'*'.Сделать копию части строки между первой'*' и второй'*'

Найти сумму между соответствующими числами первой и второй строки - C++
Здравствуйте, помогите пожалуйста с задачей. Суть задачи: С клавиатуры вводятся две строки, содержащие одинаковое количество целых...

Найти произведение между соответствующими числами первой и второй строки и вывести результат на экран - C++
Разработать программу, выполняющую обработку строк в соответствии с заданием для вашего варианта. Исходные строки вводятся с клавиатуры...

Разместить текст первой строки по центру второй строки - C++
1) Функция копирует строку в другую строку заданной длины и размещает текст первой строки по центру второй строки.

Напечатать все символы, расположенные между первой и второй запятой - C++
Дано предложение. Напечатать все символы, расположенные между первой и второй запятой. Если второй запятой нет, то должны быть напечатаны...

Заданы 2 строки. Определить местоположение символа первой строки, который первым не совпал с одним из символов второй - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Определить местоположение символа первой строки, который первым не совпал с...

Вывод на экран всех слов, которые находятся между первой и второй запятыми - C++
... задачи в Turbo C: 1.Создать программу, которая находит элементы в двумерном массиве, какие больше среднего арифметического элементов...

Добавить к первой строке 5 символов второй строки - C++
Добавить к первой строке 5 символов второй строки.

Приписать первое слово второй строки к первой - C++
Заданы 2 строки, состоящие из слов, разделенных пробелами. Приписать первое слово второй строки к первой. Получить из измененной первой...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru