Районная олимпиада по информатике. 2015-2016 учебный год
Задача A. Строка
Ограничение по времени:
1 секунда
Ограничение по памяти:
64 мегабайта
Вам даны две строки $s$ и $t$, определите длину наибольшей строки, которая встречается в обеих.
Формат входного файла
Первая строка входных данных содержит строку $s$, вторая строка содержит строку $t.$ Обе строки состоят только из строчных латинских букв. $1 \le \text{ длина строк } \le 1,000.$
Формат выходного файла
Выведите ответ к задаче.
Примеры:
Вход kazakhstan astanaОтвет
4
Замечание
stan
Комментарий/решение:
#include <iostream>
using namespace std;
int main() {
string s, t;
cin >> s >> t;
int k = 0;
string mn = min(s, t);
string mx = max(s, t);
string sub;
for (int i = 0; i < mn.size(); i++) {
for (int j = 0; j <= mn.size() - i; j++) {
sub = mn.substr(i, j);
if (mx.find(sub) != -1) {
if (sub.size() > k) k = sub.size();
}
}
}
cout << k;
return 0;
}
Возможно, что при неправильном наборе формул, они будут
доредактированы модератором. При этом содержание не будет меняться.