题意:author有v元钱,去买古董,有n个merchants然后如果有merchant的古董price低于v的那么就会联系author;
求有多少个并且是那些merchants;
这个可以用结构体也可以用一个数组;
这里是AC代码用的数组把逻辑关系对应起来:
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int main(){
ll trade[100][100];//第i个商人的古董价格
ll n,v,k[101];//对应第i个商人的古董个数(脑袋里面想一想对应关系应该就能理解了)
scanf("%lld %lld",&n,&v);
for(int i=0;i<n;i++){//这里为了方便就i从0开始了(逻辑和从1开始一样的)
scanf("%lld",&k[i]);
for(int j=0;j<k[i];j++)scanf("%lld",&trade[i][j]);
}
ll ans[101],num=0;
memset(ans,0,sizeof(ans));
for(int i=0;i<n;i++){
for(int j=0;j<k[i];j++)
{
if(trade[i][j]<v){
ans[i+1]=1;num++;break;//记录个数,和有哪些
}
}
}
printf("%lld\n",num);
for(int i=1;i<=100;i++){
if(ans[i]){//扫一遍,如果被标记了的就printf
printf("%lld ",i);
}
}
return 0;
}