訓練3+ A-Watching TV

比較簡單,找出出現最多的頻率數,如果有次數相同,則輸出其中最小的頻率。不同的節目頻道可能有相同的名字和頻率。(一開始沒在意這句話,現在才發現。這樣提示的目的,應該就是爲了編寫的時候不用考慮重複的數據,使題目更簡單點吧。如果說會有重複的,重複的要忽略,那就比這個複雜了。)

#include<iostream>
#include<stdio.h>
#include<cstring>
#include<math.h>
#include<algorithm>
using namespace std;
struct node
{
	int sum;
	int fre;
	node(int s=0,int f=0)
	{
		sum=s;
		fre=f;
	}
};
bool compare(node a,node b)
{
	if(a.sum!=b.sum) return a.sum>b.sum;
	return a.fre<b.fre;
}
int main()
{
	int t;
	scanf("%d",&t);
	char s[60];
	while(t--)
	{
		int n;
		scanf("%d",&n);
		node num[100100];
		int i;
		int index=0,tem;
		for(i=0;i<n;i++)
		{
			scanf("%s%d",s,&tem);
			num[tem-11111].fre=tem;
			num[tem-11111].sum++;
		}
		sort(num,num+100100,compare);
		printf("%d\n",num[0].fre);
	}
	return 0;
}
		


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章