zoukankan      html  css  js  c++  java
  • 题解UVA11100 The Trip, 2007

    今天模拟赛考了这题,一周前我才做的,心里美滋滋,结果挂了。。

    这题的思想就是分组。怎么分组?显然分成的最小组数就是最大值。

    由于每次我们最多选这个数之后Maxn个数和它分在一组(否则有可能重复),每次从1~maxn循环,往后找Maxn个即可。

     1 #include<cstdio>
     2 #include<vector>
     3 #include<algorithm>
     4 #define it register int
     5 #define il inline
     6 using namespace std;
     7 const int N=1000005;
     8 int n,a[N],cnt[N]; 
     9 il void fr(int &num){
    10     num=0;char c=getchar();int p=1;
    11     while(c<'0'||c>'9') c=='-'?p=-1,c=getchar():c=getchar();
    12     while(c>='0'&&c<='9') num=num*10+c-'0',c=getchar();
    13     num*=p;
    14 }
    15 il int Max(it p,it q){
    16     return p>q?p:q;
    17 }
    18 int main(){
    19     bool fl=0;
    20     while(scanf("%d",&n)!=EOF){
    21         if(!n) break;
    22         if(fl) putchar('
    ');
    23         fl=true;
    24         it ans=0;
    25         for(it i=1;i<=n;++i) fr(a[i]),++cnt[a[i]],ans=Max(ans,cnt[a[i]]);
    26         sort(a+1,a+1+n);
    27         printf("%d
    ",ans); 
    28         for(it i=1;i<=ans;++i){
    29             printf("%d",a[i]),cnt[a[i]]=0;
    30             for(it j=i+ans;j<=n;j+=ans)
    31                 printf(" %d",a[j]),cnt[a[j]]=0;
    32             putchar('
    ');
    33         } 
    34     }
    35     return 0;
    36 }
    View Code
  • 相关阅读:
    【每日日报】第四十六天
    jsp动作标识
    JSP注释
    request对象
    Servlet的创建和配置
    基于图书管理系统的浏览
    在JSP中应用JavaBean
    交流会
    基于图书管理系统的改
    基于图书管理系统的增
  • 原文地址:https://www.cnblogs.com/Kylin-xy/p/11622963.html
Copyright © 2011-2022 走看看