// Run time: 0.000
#include <stdio.h>
#include <ctype.h>
#define N 26
int arr[N];
bool state[N];
void calculate(char ch);
void sort();
int select();
int main()
{
char ch;
int n;
int i;
bool s = true;
scanf("%d\n", &n);
while (n--)
{
while (true)
{
if ((ch = getchar()) == '\n')
break;
calculate(ch);
}
}
sort();
return 0;
}
void calculate(char ch)
{
ch = toupper(ch);
if (isalpha(ch))
arr[ch-'A']++;
}
void sort()
{
int max, index;
int i;
for (; ;)
{
index = select();
if (index == -1)
return;
max = arr[index];
state[index] = true;
for ( i = 0; i < N; i++)
{
if (!state[i] && arr[i] > max)
{
state[index] = false;
state[i] = true;
max = arr[i];
index = i;
}
}
printf("%c %d\n", index+'A', arr[index]);
}
}
int select()
{
int i;
for ( i = 0; i < N; i++)
if (!state[i] && arr[i])
return i;
return -1;
}
2009年2月18日 星期三
Q10008: What's Cryptanalysis
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言