洛谷P1598 垂直柱状图

模拟题。。。我自己一直被光标下去上不去怎么模拟困扰,实际上可以直接从高到低,从左到右模拟

我的代码(算法借鉴题解)

#include <bits/stdc++.h>
using namespace std;
int bk[200];
main()
{
    string a;
    for(int i=0;i<4;i++)
    {
        getline(cin,a);
        for(int j=0;j<a.size();j++)
        if(isalpha(a[j]))
        bk[a[j]-'A']++;
    }
    int ans;
    for(int i=0;i<26;i++)
    ans=max(ans,bk[i]);
    for(int i=ans;i>0;i--)
    {
        for(int j=0;j<26;j++)
        {
            if(bk[j]>=i)
            cout<<"* ";
            else
            cout<<"  ";
        }
        cout<<"\n";
    }
    for(int i=0;i<26;i++)
    cout<<char('A'+i)<<" "; 
}
posted @ 2018-10-14 21:33  baccano!  阅读(219)  评论(0编辑  收藏  举报