求求大佬帮帮,本地看着没有问题,但是40分,下载测试样例了看着也没问题,救救
查看原帖
求求大佬帮帮,本地看着没有问题,但是40分,下载测试样例了看着也没问题,救救
921800
du19107125020楼主2023/3/27 06:48
#include <cstdio>
#include <string>
#include <algorithm>
#include <vector>

using namespace std;

bool cmp(int ls,int rs){
    if(ls < rs)
        return true;
    else
        return false;
}
int main(){
    char nn[26][1000];
    int num[26];
    char str[500];
    char A='A';
    for(int i=0; i < 26;i++)
            num[i] = 0;

    for(int i=0;i<4;i++){
        fgets(str,sizeof(str),stdin);
        string plusstr = str;
        plusstr.pop_back();
//        printf("%s\n",plusstr.c_str());

        for(int j=0; j < plusstr.size();j++){
            if(plusstr[j]>= 'A' && plusstr[j] <= 'Z'){
                num[plusstr[j]-65]++;
//                printf("%d\n",plusstr[j]-65);
//                printf("%d\n",num[plusstr[j]-65]);

            }

        }
    }
    int arr_copy[26] ;
    for(int i=0; i < 26;i++)
        arr_copy[i] = num[i];

    sort(arr_copy,arr_copy+26,cmp);
//    printf("max is %d\n",arr_copy[25]);
    for(int i=0;i < 26;i++)
        for(int j=0; j < arr_copy[25];j++)
            if(num[i] >0){
                nn[i][j] = '*';
                num[i] -= 1;
            }
            else{
                nn[i][j] = ' ';
            }
    for(int j=arr_copy[25] -1; j >=0 ;j--){
        for(int i=0; i < 26;i++){
            if(i!=25)
            printf("%c ",nn[i][j]);
            else
                printf("%c",nn[i][j]);

        }


        printf("\n");
    }
    for (int i = 0; i < 26; ++i) {
        if('A' +i != 'Z')
        printf("%c ",'A'+i);
        else
            printf("Z");
    }
    printf("\n");

    return 0;
}
2023/3/27 06:48
加载中...