not able to identify the error…
#include
#include
#include
using namespace std;
bool compare(string b,string c)
{
if(b.length()>=c.length())
{
for(int i=1;i<b.length();i++)
{
string sub=b.substr(0,i);
if(sub==c)
return b.length()>c.length();
}
return c>b;
}
if(c.length()>b.length())
{
for(int i=1;i<c.length();i++)
{
string sub=c.substr(0,i);
if(sub==b)
return c.length()>b.length();
}
return c>b;
}
}
int main()
{
int n;
cin>>n;
string a[n+1];
for(int i=0;i<n+1;i++)
{
getline(cin,a[i]);
}
sort(a,a+n+1,compare);
for(int i=0;i<n+1;i++)
cout<<a[i]<<endl;
return 0;
}