Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- bool comp1(const string &a, const string &b) {
- return a.length() < b.length();
- }
- int main() {
- // std::ios::sync_with_stdio(false);
- // freopen("in.txt", "r", stdin);
- // freopen("out.txt", "w", stdout);
- int n;
- cin >> n;
- vector<string> v(n);
- for (int i = 0; i < n; ++i) {
- cin >> v[i];
- }
- sort(v.begin(), v.end(), comp1);
- bool done = 0;
- int len;
- for (len = v[0].length(); len > 0; --len) {
- bool itendHasBeenEndOnce = 0;
- for (auto itstart = v[0].begin(), itend = v[0].begin()+len;
- !itendHasBeenEndOnce;
- ++itstart, ++itend) {
- // cout << "*its=" << *itstart << " *ite=" << *itend << endl;
- if (itend == v[0].end()) itendHasBeenEndOnce = 1;
- bool found = 1;
- for (int i = 1; i < n; ++i) {
- auto result = search(v[i].begin(), v[i].end(), itstart, itend);
- if (result == v[i].end()) {
- found = 0;
- break;
- }
- }
- if (found) {
- done = 1;
- // cout << "found in all: ";
- // for (auto itz = itstart; itz != itend; ++itz) cout << *itz;
- // cout << '\n';
- break;
- }
- }
- if (done) break;
- }
- cout << len;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement