题目描述
Alice是班上的数学课代表,她现在想从班上选出两名组长来帮她收发作业(可以选Alice自己)。Alice的班级可以按区域分为四个大组,每个大组分别有a,b,c,d名同学,Alice在其中一个组中。为了避免收发作业时两名组长位置重叠,Alice决定这选出来的两名组长不能在同一个大组中。现在她想问你,她有多少种选组长的方式?
输入
第一行输入四个整数a,b,c,d
输出
输出包含一个整数,代表Alice可能的方案总数
样例输入
1 2 1 0
样例输出
5
提示
假设第一大组的同学为Alice,第二大组为Bob, Lucy。
第三大组为Tom。
则所有可能的组长为:Alice, Bob.
Alice, Lucy.
Bob, Tom.
Alice, Tom.
Lucy Tom.
数据范围与约定
题目包含10个测试点。
对于第1,2,3测试点,满足c = d = 0。
对于第4,5,6测试点,满足a,b,c,d ≤ 10000。
对于所有测试点,满足0 ≤ a,b,c,d ≤ 100000
代码如下:
#include<stdio.h>
int main()
{
long long a, b, c, d;
long long sum;
scanf("%lld%lld%lld%lld", &a, &b, &c, &d);
sum = a * (b + c + d) + b * (c + d) + c * d;
printf("%lld", sum);
return 0;
}