思路:
1.题目要求输入学生人数、成绩、要查询的成绩个数和成绩。
最后要输出分数为查询成绩的人数。
2.用两层循环即可,水题。
超时了。。。。(拿了14分)
也是,我这样写时间复杂度是n^2。
没事没事,小问题,改一下算法。
在最初输入的时候就进行个数的统计就行了。
这样就可以降成线性的时间复杂度。
#include<bits/stdc++.h>
using namespace std;
int main()
{
int total=0,score[100001],req[100001],num=0,flag=0,x[101];
cin>>total;
for(int i=1;i<=total;i++)
{
cin>>score[i];
x[score[i]]++;
}
cin>>num;
for(int i=1;i<=num;i++) cin>>req[i];
for(int i=1;i<=num;i++)
{
if(flag==1) cout<<' ';
cout<<x[req[i]];
flag=1;
}
}
搞定了,难度不大。