问题标题: 酷町堂:3983 急!!!求解!!!

0
0
已解决
范浩轩
范浩轩
资深守护
资深守护

题目链接: 酷町堂:3983

#include<algorithm>
#include<iostream>
using namespace std;
int n;
string s[10005];
bool cmp(string a,string b)
{
    if(a.size()<b.size())
    {
        return a>b;
    }
    else if(a>b)
    {
        return a>b;
    }
    return a<b;
}
int main()
{
    int n;
    cin>>n;
    for(int i=1;i<=n;i++)
    {
        cin>>s[i];
    }
    sort(s+1,s+n+1,cmp);
    for(int i=1;i<=n;i++)
    {
        cout<<s[i]<<endl;
    }
    return 0;
}

 


0
已采纳
孔德怡
孔德怡
新手光能
新手光能

int f(string s){ int cnt=0; for(int i=0;i<s.size();i++){ if(s[i]>='a'&&s[i]<='z'){ cnt++; } else if(s[i]>='A'&&s[i]<='Z'){ cnt++; } } return cnt; } bool cmp(const string& t, const string& s){ if(f(t)!=f(s)){ return f(t)<f(s); } return t<s; } int n; string s[1000005];主代码{ 输入>>n; getline(输入,s[1]); for(int i=1;i<=n;i++){ getline(cin,s[i]); } sort(s+1,s+1+n,cmp); for(int i=1;i<=n;i++){ 输出<<s[i]<<endl; }

我要回答