第一章-問題求解策略-Uva11100-The Trip, 2007

分類:思維
題目鏈接:Uva11100-The Trip, 2007
多找幾個例子,發現答案就是相同的數的最多有多少個

#include<cstdio>
#include<cstring>
#include<algorithm>
#define mem(x) memset(x,0,sizeof(x));
using namespace std;
const int maxn=1000000+50000;
int a[maxn],cnt[maxn];
int n,ans;
int main()
{
    while(scanf("%d",&n)&&n)
    {
        mem(a)
        mem(cnt)
        ans=0;
        for(int i=0;i<n;i++)
        {
            scanf("%d",&a[i]);
            cnt[a[i]]++;
            ans=max(ans,cnt[a[i]]);
        }
        printf("%d\n",ans);
        sort(a,a+n);
        for(int i=0;i<ans;i++)
        {
            printf("%d",a[i]);
            for(int j=i+ans;j<n;j+=ans)
            {
                printf(" %d",a[j]);
            }
            printf("\n");
        }
    }
    return 0;
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章