2013年6月30日 星期日

UVA 10062 Tell me the frequencies!

/* http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&category=12&page=show_problem&problem=1003 */

#include<iostream>
#include<cstdio>
#include<cstring>

using namespace std;

char s[2000]; int sn;
int n[1000];

int main()
{
    bool flag = false;

    while( gets(s) )
    {
        if( flag ) puts("");  flag = true;
        for(int i = 0; i < 1000; i++) n[i] = 0;

        sn = strlen(s);

        for(int i = 0; i < sn; i++)
            n[(int)s[i]]++;

        int mini;
        while(1)
        {
            mini = -1;

            for(int j = 0; j < 1000; j++)
                if( n[j]!=0 && ( mini == -1 || n[mini] >= n[j] ) ) mini = j;

            if( mini == -1 ){ break; }
            printf("%d %d\n", mini, n[mini]);
            n[mini] = 0;
        }

    }
}

沒有留言:

張貼留言