题意:按样例那样模拟……
解法:模拟……
代码:
#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; }