POJ 2136 Vertical Histogram

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

解法:模拟……

代码:

#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;
}

  

原文地址:https://www.cnblogs.com/Apro/p/4852855.html