➤ Problem Link : AMR12D
👉 Hint : Use unordered_set
✅ C++ Solution :
 
#include<bits/stdc++.h>
using namespace std;
unordered_set<string> st;
int main()
{
	int t;
	cin>>t;
	while(t--)
	{
		st.clear();
		string s;
		bool flag=1;
		cin>>s;
		string t;
		for(int i=0;i<s.length();i++)
		{
			t="";
			for(int j=i;j<s.length();j++)
			{
				t+=s[j];
				st.insert(t);
			}
		}
		for(int i=0;i<s.length();i++)
		{
			t="";
			for(int j=i;j<s.length();j++)
			{
				t+=s[j];
				string p=t;
				reverse(p.begin(),p.end());
				if(st.find(p)==st.end())
				{
					flag=0;
					break;
				}
			}
			if(flag==0)
				break;
		}
		if(!flag)
			cout<<"NO"<<endl;
		else
			cout<<"YES"<<endl;
	}
}
Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook.
😇Happy Learning!!
