题解:AT_guildfes_2026_final_d EGFイニシャル

· · 题解

题意

n 个由小写字母组成的字符串按长度排序,然后将每个字符串的第一位转化为大写后输出。

解法

推荐使用 STL 函数 sort,即可非常方便的排序,同时支持自定义排序规则。

#include <bits/stdc++.h>
using namespace std;
typedef long long LL;
//十年OI一场空,不开long long见祖宗
int n;
string s[20] , ans;
bool cmp(string a , string b){//自定义排序规则
    return a.size() < b.size();
}
int main(){
    //freopen(".in" , "r" , stdin);
    //freopen(".out" , "w" , stdout);
    scanf("%d" , &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)
        ans += s[i][0] - 'a' + 'A';//使用ASCLL码的知识将小写转化为大写
    cout << ans;
    return 0;
}