POJ 2136 Vertical Histogram

时间:2024-10-25 10:35:09

题意:按样例那样模拟……

解法:模拟……

代码:

#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string>
#include<string.h>
#include<math.h>
#include<limits.h>
#include<time.h>
#include<stdlib.h>
#include<map>
#include<queue>
#include<set>
#include<stack>
#include<vector>
#define LL long long using namespace std; int alp[30];
void cal(string s)
{
for(int i = 0; i < s.size(); i++)
{
if(s[i] >= 'A' && s[i] <= 'Z') alp[s[i] - 'A']++;
}
}
int main()
{
string s;
while(getline(cin, s))
{
memset(alp, 0, sizeof alp);
cal(s);
for(int i = 0; i < 3; i++)
{
getline(cin, s);
cal(s);
}
int maxn = 0;
for(int i = 0; i < 26; i++)
maxn = max(maxn, alp[i]);
for(int i = 0; i < maxn; i++)
{
for(int j = 0; j < 26; j++)
{
if(j) printf(" ");
if(alp[j] + i >= maxn) printf("*");
else printf(" ");
}
puts("");
}
for(int i = 0; i < 26; i++)
{
if(i) printf(" ");
printf("%c", i + 'A');
}
puts("");
}
return 0;
}