读书人

uva11100The Trip, 2007-贪心(输出方

发布时间: 2012-09-14 11:53:44 作者: rapoo

uva11100The Trip, 2007--贪心(输出方式想不到啊!!!)

#include<cstdlib>#include<iostream>#include<cstdio>#include<cmath>#include<set>#include<cstring>#include <algorithm>#define N 10000#define M 1000001using namespace std;int a[N];int num[M];int n;int main(){//    freopen("ex.in","r",stdin);    int first=1;    while(scanf("%d",&n)&&n)    {        if(first)first=0;        else printf("\n");        memset(num,0,sizeof(num));        int maxv=0,v;        for(int i=0;i<n;++i)        {            scanf("%d",&a[i]);            num[a[i]]++;            if(num[a[i]]>maxv)            {                maxv=num[a[i]];                v=a[i];            }        }        sort(a,a+n);        printf("%d\n",maxv);        for(int i=0;i<maxv;i++)        {            int j=i;                printf("%d",a[j]);            for(j+=maxv;j<n;j+=maxv)            {                printf(" %d",a[j]);            }            printf("\n");        }    }    return 0;}
要求最外层背包个数最少,并且每个嵌套的背包的层数也要尽量小,从样例里我们就能发现,最小的外层背包个数等于,所有背包中相同的个数最大的;
要做到每个嵌套的背包层数小,只要平均的嵌套,

读书人网 >编程

热点推荐