62. 全能战士*
62. 全能战士*
全排有n名战士,其中会骑马的有n1人,会摔跤的有n2人,会拳击的有n3人。还知道不少人是多面手,其中会骑马和摔跤的有n12人,会摔跤和拳击的有n23人,会拳击和骑马的有n13,还有若干三项全会。编程,输出三项全能的有几人?
例如:输入:n=50, n1=30, n2=28, n3=20, n12=14,n23=12, n31 = 8。
输出:6<回车>
| 测试输入 | 期待的输出 | 时间限制 | 内存限制 | 额外进程 | |
|---|---|---|---|---|---|
| 测试用例 1 | 以文本方式显示
|
以文本方式显示
|
30秒 | 64M | 0 |
| 测试用例 2 | 以文本方式显示
|
以文本方式显示
|
30秒 | 64M | 0 |
| 测试用例 3 | 以文本方式显示
|
以文本方式显示
|
无限制 | 64M | 0 |
【分析】
这就小学的容斥原理,和计算机一点关系都没有
【代码】:
#include <stdio.h>
int main(void) {
int n, n1, n2, n3, n12, n23, n31;
int allround = 0;
scanf("%d %d %d %d %d %d %d", &n, &n1, &n2, &n3, &n12, &n23, &n31);
allround = n + n12 + n23 + n31 - n1 - n2 - n3;
printf("%d\n", allround);
}

浙公网安备 33010602011771号