**洛谷P1598 垂直柱状图 **
#include <iostream>
#include <cstdio>
#include <cstring>
using namespace std;
int main()
{
char a[100000],b[100][100]={' '};
int x[1000000]={0},hi=0,hig=0;
for(int k=1;k<=4;k++)
{
gets(a);
for(int i=0;i<strlen(a);i++)
{
x[a[i]]++;
if(x[a[i]]>hi)
{
hi=x[a[i]];
}
}
for(int i='A';i<='Z';i++)
{
for(int j=hi-1;j>=0;j--)
{
if(hi-j<=x[i])
{
b[i][j]='*';
}
else
{
b[i][j]=' ';
}
}
}
}
for(int j=0;j<hi;j++)
{
int p=0;
for(int i='A';i<='Z';i++)
{
if(b[i][j]==' ')
{
p++;
}
}
if(p==26)
{
hig++;
}
}
for(int j=hig;j<hi;j++)
{
for(int i='A';i<='Y';i++)
{
cout<<b[i][j]<<" ";
}
cout<<b['Z'][j]<<endl;
}
cout<<"A B C D E F G H I J K L M N O P Q R S T U V W X Y Z";
return 0;
}