淘先锋技术网

首页 1 2 3 4 5 6 7

计蒜客 同学的爱好


题目

蒜蒜班上有 nn 位同学,每位同学都会喜欢篮球、足球或羽毛球中的一项或者多项。其中,喜欢篮球的有 aa 人,喜欢足球的有 bb 人,喜欢羽毛球的有 cc 人,既喜欢篮球也喜欢足球的有 dd 人,既喜欢篮球也喜欢羽毛球的有 ee 人,既喜欢足球也喜欢羽毛球的有 ff 人。

请你计算,有多少同学同时喜欢篮球、足球和羽毛球。

输入格式

第一行输入一个整数 nn,表示同学总数。

第二行输入 66 个整数 a,b,c,d,e,fa,b,c,d,e,f,每两个数之间用一个空格隔开。

输出格式

输出一个整数,表示有多少同学同时喜欢篮球、足球和羽毛球。

数据规模和约定

对于 40\%40% 的数据:a+b+c = na+b+c=n。

对于 100\%100% 的数据:1≤n≤10000,0≤a,b,c≤n,0≤d≤min(a,b),0≤e≤min(a,c),0≤f≤min(b,c)。

样例输入1

4
3 3 3 2 3 2

样例输出1

2

样例输入2

14
11 9 7 7 5 6

样例输出2

5

题解

设x为只喜欢篮球的人,y为只喜欢足球的人,z为只喜欢羽毛球的人,xy为只喜欢篮球和足球的人,xz为只喜欢篮球和羽毛球的人,yz为只喜欢足球和羽毛球的人,xyz为三样都喜欢的人

那么很显然,喜欢篮球的人有 x +xy+ xz + xyz ,喜欢足球的人有 y +xy+ yz + xyz ,喜欢羽毛球的人有 z +xz+ yz + xyz ,既喜欢篮球又喜欢足球的人有 xy + xyz ,既喜欢篮球有喜欢羽毛球的人有 xz + xyz ,既喜欢足球又喜欢羽毛球的人有 yz + xyz ,分别等于题目中给出的 a ,b, c ,d, e ,f

根据上述等式我们可以得出 x +xy+ xz + xyz + y +xy+ yz + xyz + z +xz+ yz + xyz - xy - xyz - xz - xyz - yz - xyz + xyz = n ,即a+ b +c- d -e- f +xyz= n <script type="math/tex" id="MathJax-Element-3465">n</script>


代码

#include<cstdio>
using namespace std;

int n,a,b,c,d,e,f;

int main()
{
    scanf("%d%d%d%d%d%d%d",&n,&a,&b,&c,&d,&e,&f);
    printf("%d",n-a-b-c+d+e+f);
}