Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- #define fr(i, a, b) for(int i = a, _= b; i < _; i++)
- typedef pair<int, int> pii;
- map<string, vector<pii> > mp;
- int main(){
- vector<string> vs;
- int n;
- cin >> n;
- cin.ignore();
- fr(i, 0, n){
- string s;
- getline(cin, s);
- vs.push_back(s);
- }
- vs[n-1].erase(10);
- fr(i, 0, n-1)
- fr(j, i, n-1){
- string temp, t1, t2;
- t1 = vs[i], t2 = vs[j];
- temp = t1 + t2;
- fr(k, 0, 11){
- mp[temp.substr(k, 10)].push_back(make_pair(i+1, j+1));
- }
- temp.clear();
- temp = t2+t1;
- fr(k, 0, 11){
- mp[temp.substr(k, 10)].push_back(make_pair(j+1, i+1));
- }
- }
- fr(i, 1, n){
- vector<pii>::iterator j;
- for(j = mp[vs[i]].begin(); j != mp[vs[i]].end(); j++)
- if(j->first-1 < i && j->second-1 < i){
- cout << vs[i];
- return 0;
- }
- }
- cout << "ok";
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement