网站开发与维护视频教程,wordpress主题加载语言包,福利站wordpress,深圳罗湖高端网站建设正题 题目大意
有n张试卷m道题#xff0c;给出每张试卷每道题的答案(A或B)#xff0c;选择若干道题#xff0c;要求至少有k对试卷这些题的选择不一样#xff08;只要有一题不一样就行#xff09; 解题思路
用二进制码表示试卷#xff0c;用1表示A,0表示B。 然后用二进制…正题 题目大意
有n张试卷m道题给出每张试卷每道题的答案(A或B)选择若干道题要求至少有k对试卷这些题的选择不一样只要有一题不一样就行 解题思路
用二进制码表示试卷用1表示A,0表示B。 然后用二进制码枚举这些题的选择方案用1表示选0表示不选。 然后∨\vee∨一下就可以单独得出每张试卷这些题的选择。 之后直接比较就可以得知选择是否相同。 我们可以用一个同viv_ivi选择的表示为i的试卷个数然后用总对数减去多出来对数就可以得到有多少对试卷不一样。 code
#includecstdio
#includecstring
#includeiostream
#define MS 1024
#define N 1010
using namespace std;
int t,n,m,k,v[MS],a[N],ans,answer;
char c;
int main()
{scanf(%d,t);for(int ti1;tit;ti){answer0;memset(a,0,sizeof(a));scanf(%d%d%d,n,m,k);for(int i1;in;i)for(int j1;jm;j){cinc;a[i]a[i]*2(cA);//转换}for(int s0;s(1m);s)//枚举状态{ans0;memset(v,0,sizeof(v));for(int i1;in;i)//枚举试卷{v[a[i]s];//统计ansi-v[a[i]s];//容斥}if(ansk) answer;}printf(%d\n,answer);}
}