水题,记录一下两个函数的使用。
AC代码:
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
string s[105];
bool cmp(string a,string b){
if(a.size()!=b.size())return a.size()<b.size();
else return a<b;
}
int main(){
int n;
cin>>n;
for(int i=0;i<n;i++)cin>>s[i];
sort(s,s+n,cmp);
int cnt=0;
for(int i=1;i<n;i++)
if(s[i].find(s[i-1])!=-1)cnt++;
//cout<<cnt<<endl;
if(cnt!=n-1)cout<<"NO"<<endl;
else{
cout<<"YES"<<endl;
for(int i=0;i<n;i++)cout<<s[i]<<endl;
}
}