一道简单的集合运算题,关键在于是否理解集合的互斥原理,
n — 至少刷过任意一个题单的人数;• a — 刷过新手入门的人数;• b— 刷过算法入门的人数;• c — 刷过算法进阶的人数;
需要求的ans是三个题单都刷过的人。
由互斥原理 n = a+b+c-d-2ans
#include<bits/stdc++.h>
using namespace std;
void solve(){
int n,a,b,c,d;
cin>>n>>a>>b>>c>>d;//n=a+b+c-d-2ans
int ans = ((a+b+c)-d-n)/2;
cout<<ans<<endl;
}
int main(){
int t;
cin>>t;
while(t--){
solve();
}
}

京公网安备 11010502036488号