题目描述
恭喜南阳理工学院获得全国最佳生态校园。南阳理工学院最近又上新闻了,全国游客纷纷慕名而来,但是南阳理工学院可不能随便进,因为里面有狮子和柿子。
除了狮子,南阳理工学院还有很多神奇的物种:小脑斧、小凶许、梅发怒....这些生物构成了一条生物链。假设每种动物都有一个战斗值,战斗值高的可以把战斗值低的吃掉。如果动物A吃掉了动物B,那么B的战斗值将会成为A的战斗值,同时,A的物种属性不会变。现在给出动物的数量以及它们的战斗值,求南阳理工学院最少剩多少只动物。
输入
第一行T,表示T组数据(T<=10)。
接下来每组数据第一行n,表示动物数量(n<=1e5)。
第二行n个整数,表示每只动物的战斗力ai,战斗力相同说明来自同一物种(ai <=1e9)。
输出
对于每组数据输出“Case#x: ”,x表示当前是第几组数据。然后一个整数表示答案。
样例输入
复制
2#include <map> #include <iostream> #include <algorithm> using namespace std; map<int, int> mat; int main() { int Case = 1; int N, n, x, mx; scanf("%d",&N); while(N--) { mx = 0; mat.clear(); scanf("%d",&n); for(int i = 0; i < n; i++) { scanf("%d",&x); mat[x]++; mx = max(mx, mat[x]); } printf("Case#%d: %d\n", Case++, mx); } return 0; }
3
1 2 3
4
1 2 3 3
样例输出
复制
Case#1: 1 Case#2: 2
其实就是把最多的动物给记录一下就行了,简单map