Submission #928873

#TimeUsernameProblemLanguageResultExecution timeMemory
928873KaleemRazaSyedNecklace (Subtask 1-3) (BOI19_necklace1)C++17
0 / 85
2 ms348 KiB
#include<bits/stdc++.h>

using namespace std;

map<string, int> mp; // the starting point of that string

int main()
{
  string s, t;
  cin >> s >> t;
  int n = s.size(), m = t.size(); 
  int mx = min(n, m);
  for(int ans = mx; ans >= 1; ans--)
    {
      for(int i = 0; i < n - ans + 1; i++)
	{
	  string v = s.substr(i, ans);
	  mp[v] = i + 1;
	  reverse(v.begin(), v.end());
	  mp[v] = i + 1;
	}
      for(int i = 0; i < m - ans + 1; i++)
	{
	  string v = t.substr(i, ans);
	  for(int j = 0; j < ans; j++)
	    {
	      if(mp.find(v) != mp.end())
		{
		 cout << ans << endl;
		 cout << mp[v] << ' ' << i + 1 << endl;
		 return 0;
		}
	      v = v.substr(1, ans) + v.substr(0, 1);
	    }
	}
      mp.clear();
    }
  return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...