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 以文本方式显示
  1. 50 30 28 20 14 12 8↵
以文本方式显示
  1. 6↵
30秒 64M 0
测试用例 2 以文本方式显示
  1. 29 18 20 16 12 11 7↵
以文本方式显示
  1. 5↵
30秒 64M 0
测试用例 3 以文本方式显示
  1. 7 4 4 4 2 2 2↵
以文本方式显示
  1. 1↵
无限制 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);
}

 

posted @ 2022-12-28 20:06  我千五可以  阅读(82)  评论(0)    收藏  举报