The Trip, 2007 UVA - 11100(贪心)
2017-08-19 10:15
429 查看
题目链接:点击打开链接
题意: 有 n 个包,大包可以装一个小包,问这些包能组成的最少包数;
题解: 找出 n 个数中出现最多次数的数 k,这个数就是一个基数,即能形成的最少包数(想想就明白了),从小到大排序,每隔 k 个数输出一次,输出的便是答案;
例如:
1122334444556666 可以分成 1346,1346,2456 2456四个,即 k =4;
题意: 有 n 个包,大包可以装一个小包,问这些包能组成的最少包数;
题解: 找出 n 个数中出现最多次数的数 k,这个数就是一个基数,即能形成的最少包数(想想就明白了),从小到大排序,每隔 k 个数输出一次,输出的便是答案;
例如:
1122334444556666 可以分成 1346,1346,2456 2456四个,即 k =4;
#include<iostream> #include<algorithm> #include<cmath> #include<cstdio> #include<cstring> #include<iomanip> using namespace std; int main() { int n; while(cin>>n&&n){ int a[10000+100]; for(int i=0;i<n;i++) cin>>a[i]; sort(a,a+n); int maxx=0; int num=0; for(int i=0;i<n;i++){ if(a[i]==a[i+1]){ num++; } else if(a[i]!=a[i+1]){ num++; maxx=max(maxx,num); num=0; } } cout<<maxx<<endl; for(int i=0;i<maxx;i++){ cout<<a[i]; for(int j=i+maxx;j<n;j+=maxx){ cout<<" "<<a[j]; } cout<<endl; } cout<<endl; } return 0; }
相关文章推荐
- UVA 11100 The Trip,2007(贪心)
- UVA11100 The Trip, 2007(贪心)
- [贪心]UVA11100 - The Trip, 2007
- UVA 11100 - The Trip, 2007(贪心)
- UVA - 11100 The Trip, 2007 贪心
- uva - 11100 - The Trip, 2007(贪心)
- UVA 11100 The Trip, 2007 (贪心)
- UVA 11100 The Trip, 2007 贪心(输出比较奇葩)
- UVa 11100 The Trip, 2007 (贪心&一举两得的输出技巧)
- UVa11100 - The Trip, 2007(贪心【重点:解的构造)
- UVA - 11100 The Trip, 2007(贪心)
- uva 11100 - The Trip, 2007(贪心)类似于一道LIS题目
- uva 11100 The Trip, 2007(贪心)
- UVA 11100 The Trip, 2007 贪心(输出比较奇葩)
- UVa 11100 The Trip, 2007 (题意+贪心)
- UVA 11100 The Trip, 2007
- UVA 11100 The Trip, 2007
- UVa 11100 - The Trip, 2007
- uva 11100 The Trip, 2007
- UVA - 11100 The Trip, 2007