Watching TV Gym101498A

来源:互联网 发布:阿里云服务器优点 编辑:程序博客网 时间:2024/05/17 23:32

一道水题。。。强迫症,既然做到了,还是想发个博。。。

**题意**Ahmed 的爸爸只允许他看相同频率的节目,一个频率可能接受到几个节目的信号。

思路:记下一个频率出现了多少次,然后输出出现次数最多的频率(若有多个频率出现次数最多且相同则输出其中最小的频率)

代码:

#include<cstdio>#include<cstring>#include<cstdlib>#include<stack>#include<queue>#include<utility>#include<vector>#include<cmath>#include<set>#include<map>#include<iostream>#include<algorithm>using namespace std;typedef long long LL;vector<int> F;set<int> chl;int hs[100000];int main(){    //freopen("in.txt", "r", stdin);    int T;    scanf("%d", &T);    while(T--){        F.clear();        chl.clear();        memset(hs, 0, sizeof(hs));        int N;        scanf("%d", &N);        while(N--){            char name[55];            int f;            scanf("%s%d", name, &f);            hs[f]++;            if(chl.count(f) == 0) {F.push_back(f); chl.insert(f);}        }        int ans = F[0], anscnt = hs[F[0]];        for(int i=0; i<F.size(); i++){            if(anscnt < hs[F[i]]){                anscnt = hs[F[i]];                ans = F[i];            }            else if(anscnt == hs[F[i]]){                ans =  min(ans, F[i]);            }        }        printf("%d\n", ans);    }    return 0;}
原创粉丝点击