ECNU3238. 字串非重复字符数排序

返回目录

题目链接
在这里插入图片描述

#include <bits/stdc++.h>
using namespace std;

struct strcou{
    
    
    char s[21];
    int cou;
}sl[100];
bool cmp(strcou st1,strcou st2){
    
    
    if(st1.cou!=st2.cou)return st1.cou>st2.cou;
    return strcmp(st1.s,st2.s)<0;
}
int main() {
    
    
    int T;
    cin>>T;
    for(int t=0;t<T;t++){
    
    
        int n;
        scanf("%d",&n);
        for(int i=0;i<n;i++){
    
    
            scanf("%s",sl[i].s);
            set<char> st;
            int j=0;
            while (sl[i].s[j] != '\0'){
    
    
                st.insert(sl[i].s[j]);
                j++;
            }
            sl[i].cou=st.size();
        }
        sort(sl,sl+n,cmp);
        printf("case #%d:\n",t);
        for(int i=0;i<n;i++){
    
    
            printf("%s\n",sl[i].s);
        }
    }
}

猜你喜欢

转载自blog.csdn.net/a1920993165/article/details/129381402