PTA乙级1038C++哈希解法

#include"bits/stdc++.h"
using namespace std;
int main()
{
    int a,b[105]={0};
    long i,n,K;
    cin>>n;
    for(i=0;i<n;i++)   
    {
        cin>>a;
        b[a]++;
    }  
    cin>>K;
    int c[K];
    for(i=0;i<K;i++)    cin>>c[i];
    
    for(i=0;i<K;i++)    
    {
        if(i!=K-1)  cout<<b[c[i]]<<' ';
        else        cout<<b[c[i]];    
    }
    return 0;
}

开一个105的数组,把读入的分数作为数组的下标;记得把数组初始化为零,这样我们只需要按第二次读入数据的顺序遍历数组即可,这样便能解决超时问题。

posted @ 2022-04-11 15:09  cxy8  阅读(11)  评论(0编辑  收藏  举报