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
  • 相关阅读:
    11 数据的增删改
    10 外键的变种 三种关系
    09 完整性约束
    03 body标签中的相关标签
    02 body标签中的相关标签
    01 HTML介绍和head标签
    08 数据类型(2)
    07 数据类型
    06 表的操作
    偶遇RecyclerView内部Bug
  • 原文地址:https://www.cnblogs.com/Kylin-xy/p/11622963.html
Copyright © 2011-2022 走看看