奶牛读书俱乐部

essie 要找一些奶牛加入读书俱乐部。现在有 N (2 <= N <= 50,000) 头奶牛,编号为 1..N, 当然她要尽量挑选一些能力强的奶牛。

因此,他设计了一个问卷调查,要求这 N 头奶牛回答 NQ (1 <= NQ <= 50) 个问题(编号为 R_1..R_NQ). 这些问题有"你喜欢读科幻小说的程度?",每个问题的回答是一个1.....5之间的整数。

你的任务是根据回答情况做一个表格,并回答一个简单的查询,比如:回答问题3为2,回答问题7为4,回答问题8是1。这样的奶牛有多少?

查询分为 P (1 <= P <= 10)个条件, 每个条件表示为: Qj (1 <= Qj <= NQ) 和 Aj (1 <=Aj <= 5), 表示问题编号和要回答的值。你的程序输出一个整数,表示回答中同时符合这些条件的奶牛个数。

比如:有4头牛,5个问题,问卷结果为:

Cow Question

ID 1 2 3 4 5

1  1 1 1 1 1

2  1 2 3 4 5

3  1 2 1 2 3

4  2 1 1 2 2

如果查询条件为“问题1要求回答2,问题2要求回答1”,这样的奶牛只有4号,答案为1. 

输入格式

 第 1 行:三个整数: N, NQ, 和 P

 第 2..N+1 行: 第i+1行有NQ 个整数,表示第i头牛的回答,对应问题: R_1..R_NQ

 第 N+2..N+1+P行:第j+N+1 行,有两个整数: Qj 和 Aj

输出格式

一个整数,表示符合所有条件的奶牛数

输入/输出例子1

输入:

4 5 2 

1 1 1 1 1 

1 2 3 4 5 

1 2 1 2 3 

2 1 1 2 2 

1 1 

3 1 

输出:

2

直接上代码

#include<bits/stdc++.h>
using namespace std;
int n,m,p,ans;
int a[50005][55],qj[15],aj[15];
int main(){
    cin>>n>>m>>p;
    for(int i=1;i<=n;i++)
        for(int j=1;j<=m;j++)
            cin>>a[i][j];//输入,不说了
    for(int i=1;i<=p;i++)
        cin>>qj[i]>>aj[i];//输入,不说了
    for(int i=1;i<=n;i++)
    {
        int bj=1;
        for(int j=1;j<=p;j++)
            if(a[i][qj[j]]!=aj[j])bj=0;//判断是不是同个答案
        if(bj==1)ans++;//是的话多一只奶牛
    }
    cout<<ans;
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值