篮球宝贝
篮球宝贝既是激烈的篮球比赛之中,给赛场的紧张气氛带来些许放松的篮球拉拉队,同时为球迷和球员加油鼓劲的拉拉队员,而且篮球拉拉队的表演也非常精彩。篮球宝贝就是被球迷爱称为“篮球宝贝”的拉拉队员。今年NIT篮球协会要在学校内选一批篮球宝贝,学校很支持这项活动,把愿意参加活动的学生名单全部提供出来了,现在需要聪明的你来帮助活动的主办方完成这项任务。学校提供的名单信息含有性别、身高、年级三项内容,而篮球宝贝只能是大一或者大二的符合身高要求的女生,现在请你编程实现。
Input
本问题有多组测试数据,而且输入的第一行就是测试数据的组数。对于每一组测试数据,共有三部分;第一部分只有一行是两个整数n和m,n表示学生总数,m表示需要选拔的篮球宝贝的人数,其中1<=n<=20000,1<=m<=50,两数之间有空格分隔;第二部分也是一行是篮球宝贝所要求的身高,用两个整数F和T表示,也就是说F<=选中的学生的身高<=T,其中150<=F<=T<=180,两数之间有空格分隔;最后一部分有n行是学生的数据,每行有三个整数组成,第一个整数S表示性别,其中S=0表示女生,S=1表示男生,第二个整数H表示身高,第三个整数G表示年级,其中1<=G<=4,三个整数之间分别有空格隔开。
Output
对于每一组测试数据,输出只有一行,就是第m个满足要求的学生的输入顺序号(即在输入数据中是第几个学生)。如果没有符合结果的,那么输出”No such student!”。
Sample Input
2
3 1
160 165
1 181 2
0 162 3
0 163 2
3 2
160 165
1 180 1
0 165 1
0 163 3
Sample Output
3
No such student!
代码
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main()
{
int t;
scanf("%d",&t);
int a,b,c;
while(t--)
{
int n,m,l,r;
cin>>n>>m>>l>>r;
int ans=0;
for(int i=0;i<n;i++)
{
cin>>a>>b>>c;
if(m==0)continue;
if(a==0&&b<=r&&b>=l&&c<=2)
{
m--;
}
if(!m)
{
ans=i+1;
}
}
if(!m)cout<<ans<<endl;
else cout<<"No such student!"<<endl;
}
return 0;
}