uva 11100 The Trip, 2007

来源:互联网 发布:绝地求生源码基址 编辑:程序博客网 时间:2024/05/14 00:49

装箱子,最大数量取决于同种箱子的个数,每个箱子只能装一个箱子进去

#include <cstdio>#include <iostream>#include <cstring>#include <algorithm>//#define Tusing namespace std;int main(){    #ifdef T    freopen("in.txt","r",stdin);    freopen("out.txt","w",stdout);    #endif // T    int a[100100];    int vis[100100];    int n;    while(~scanf("%d",&n)&&n)    {        memset(a,0,sizeof(a));        memset(vis,0,sizeof(vis));        for(int i = 0; i < n;i ++)        {            scanf("%d",&a[i]);        }        int index = 1;        int Max = 1;        sort(a,a+n);        for(int i = 0; i < n-1; i++)        {            while(a[i] == a[i+1])            {                index ++;                i++;            }            if(index > Max)                Max = index;            index = 1;        }        int cnt = 0;        int i;        printf("%d\n",Max);        while(1)        {            if(cnt >= n ) break;            for(i = 0; i < n; i++)                if(!vis[i]) break;            cnt ++;            vis[i] = 1;            printf("%d",a[i]);            i += Max;            for(;i < n; i +=Max)            {                if(!vis[i])                {                    vis[i] = 1;                    printf(" %d",a[i]);                    cnt ++;               }            }            printf("\n");        }   }    return 0;}


0 0
原创粉丝点击