hdu 2192

地址:http://acm.hdu.edu.cn/showproblem.php?pid=2192

题意:n个size不同的大楼,相同size的不能放在同一MagicBuilding中。问至少要多少个MagicBuilding。

mark:其实就是求出现最多的那个数出现的次数,排序以后扫一次就好了。

代码:

# include <stdio.h>
# include <stdlib.h>


int a[10010] ;
int cmp(const void *a, const void *b)
{
    return *(int*)a - *(int*) b ;
}

int main ()
{
    int T, n, i ;
    int sum ,ans ;
    scanf ("%d", &T) ;
    while (T--)
    {
        scanf ("%d", &n) ;
        for (i = 0 ; i < n ; i++)
            scanf ("%d", &a[i]) ;
        qsort(a, n, 4, cmp) ;
        sum = ans  = 1 ;
        for (i = 1 ; i < n ; i++)
        {
            if (a[i] == a[i-1]) sum++ ;
            else sum = 1 ;
            if (sum > ans) ans = sum ;
        }
        printf ("%d\n", ans) ;
    }
    return 0 ;
}
posted @ 2012-04-11 01:55  Seraph2012  阅读(203)  评论(0编辑  收藏  举报