题解
2025-09-29 12:42:30
发布于:广东
20阅读
0回复
0点赞
ACGO欢乐赛#57 T6题解
#include<bits/stdc++.h>
using namespace std;
const int maxn=1e5+5;
int n;
string s[maxn];
bool allbig(string s)
{
for(int i=0;i<s.size();i++)
{
if(s[i]>='a'&&s[i]<='z')
{
return false;
}
}
return true;
}
bool allsmall(string s)
{
for(int i=0;i<s.size();i++)
{
if(s[i]>='A'&&s[i]<='Z')
{
return false;
}
}
return true;
}
bool cmp(string a,string b)
{
if((allbig(a)||allsmall(a))&&!allbig(b)&&!allsmall(b))
{
return true;
}
if((allbig(b)||allsmall(b))&&!allbig(a)&&!allsmall(a))
{
return false;
}
if(a.size()<b.size())
{
return true;
}
if(a.size()>b.size())
{
return false;
}
return a<b;
}
int main()
{
cin>>n;
for(int i=1;i<=n;i++)
{
cin>>s[i];
}
sort(s****+n+1,cmp);
for(int i=1;i<=n;i++)
{
cout<<s[i]<<endl;
}
return 0;
}
这里空空如也
有帮助,赞一个