zoukankan      html  css  js  c++  java
  • UVa 11100 The Trip (贪心)

    出现次数最多的数字的次数即为最少的答案,

    只需要依次将序列按顺序分隔开即可,每组 (n/ans) 的长度

    #include<bits/stdc++.h>
    using namespace std;
    typedef long long ll;
    
    const int maxn = 10010;
    
    int n;
    int a[maxn];
    
    ll read(){ ll s = 0, f = 1; char ch = getchar(); while(ch < '0' || ch > '9'){ if(ch == '-') f = -1; ch = getchar(); } while(ch >= '0' && ch <= '9'){ s = s * 10 + ch - '0'; ch = getchar(); } return s * f; }
    
    int main(){
    	int T = 0;
    	while(scanf("%d", &n) == 1 && n){
    		for(int i = 1 ; i <= n ; ++i){
    			scanf("%d", &a[i]);
    		}
    		if(T) printf("
    ");
    		T = 1;
    		
    		sort(a + 1, a + 1 + n);
    		a[0] = -1;
    		
    		int k = 0, mx = 0;
    		for(int i = 1 ; i <= n ; ++i){
    			if(a[i] != a[i - 1]){
    				k = 1;
    				mx = max(mx, k);
    			} else{
    				++k;
    				mx = max(mx, k);
    			}
    		}
    		
    		printf("%d
    ", mx);
    		
    		for(int i = 1 ; i <= mx ; ++i){
    			for(int j = i ; j <= n ; j += mx){
    				if(j != i) printf(" ");
    				printf("%d", a[j]);
    			} printf("
    ");
    		}
    	}
    	return 0;
    }
    
  • 相关阅读:
    处理数据
    Vue--Vue常用指令及操作
    Vue--Vue实例
    ES6--解构赋值
    ES6--入门
    前端模块化开发
    Node.js--入门
    HTML5--canvas与svg的使用
    input整理
    移动端开发入门
  • 原文地址:https://www.cnblogs.com/tuchen/p/14845320.html
Copyright © 2011-2022 走看看