题目:http://acm.hdu.edu.cn/showproblem.php?pid=2708
AC代码(C++):
#include <iostream> #include <queue> #include <set> #include <string> #include <algorithm> #include <string.h> #include <math.h> #define INF 0x3f3f3f3f #define eps 1e-8 using namespace std; int main() { char str[80]; int cnt[26]; while (cin.getline(str, 80)) { memset(cnt, 0, sizeof(cnt)); for (int j = 0; str[j] != '\0'; j++) { if (str[j] >= 'A'&&str[j] <= 'Z')cnt[str[j] - 'A']++; } for (int i = 0; i < 3; i++) { cin.getline(str, 80); for (int j = 0; str[j] != '\0'; j++) { if (str[j] >= 'A'&&str[j] <= 'Z')cnt[str[j] - 'A']++; } } int MAX = 0; for (int i = 0; i < 26; i++)if (cnt[i]>MAX)MAX = cnt[i]; for (int i = 0; i < MAX; i++) { int MAX0 = 0; int MAX1 = 0; for (int j = 0; j < 26; j++)if (cnt[j] >= MAX0)MAX0 = cnt[j], MAX1 = j; for (int j = 0; j <= MAX1; j++) { if (cnt[j] == MAX0) { cout << '*'; cnt[j]--; } else cout << ' '; if (j != MAX1)cout << ' '; } cout << 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\n"; } //system("pause"); }总结: 水题.