poj 2136(水题)

#include<iostream> 
#include<cstring>
#include<cctype>
using namespace std;
int main(){
    char a[80];
    int data[30];
    int out[400][60];
    int i,j,l_max;
    memset(data,0,sizeof(data));
    memset(out,0,sizeof(out));
    for(i=0;i<4;i++){
        gets(a);
        for(j=0;j<strlen(a);j++){
            if(isalpha(a[j])){
                data[a[j]-'A']++;
            }
        }
    }
    l_max = 0;
    for(i=0;i<26;i++){
        if(l_max<data[i])
            l_max = data[i];
    }
    for(i=0;i<l_max;i++){
        for(j=0;j<26;j++){
            if(data[j]>=l_max-i){
                out[i][j*2] = 1;
            }
        }
    }
    for(i=0;i<l_max;i++){
        for(j=50;j>=0;j-=2){
            if(out[i][j]==1){
                out[i][j+1] = -1;
                break;
            }
        }
    }
    for(i=0;i<l_max;i++){
        for(j=0;j<52;j++){
            if(out[i][j]==1)printf("*");
            if(out[i][j]==0)printf(" ");
            if(out[i][j]==-1){
                printf("\n");
                break;
            }
        }
    }
    for(i=0;i<25;i++){
        printf("%c ",'A'+i);
    }
    printf("Z\n");
    return 0;
}

 

posted @ 2021-11-13 16:41  智人心  阅读(23)  评论(0)    收藏  举报