判断水平相当的同学对数 题目描述 游泳是一项广受欢迎的运动和娱乐活动,期末考试项目包括自由泳、仰泳、蛙泳和蝶泳一共四门课程,每门成绩均为不超过 100 的整数。John 和 Mary 这两位同学四门课总分的差值不超过 20 分,并且每门课成绩的差值都不超过 10 分,那么老师就可以把 John 和 Mary 认定为水平相当。班里一共有 n 名同学,现在老师想知道这 n 名同学中,有多少对同学水平相当。 输入描述 输入一共 n+1 行: 第一行只有一个正整数 n,代表 n 名同学。 接下来 n 行,每行四个不超过 100 的整数,分别代表每位同学的自由泳、仰泳、蛙泳和蝶泳成绩,之间用空格隔开。 输出描述 输出只有一行,一个数字,代表有几对同学水平相当。 样例 1 输入 4 85 85 85 85 90 95 85 87 56 100 91 82 67 92 31 78 输出 1 提示 保证人数 1<=n<=1000。
正确答案:参考程序(Python):n=int(input());st=[list(map(int,input().split())) for _ in range(n)];cnt=0;for i in range(n):for j in range(i+1,n):if abs(sum(st[i])-sum(st[j]))<=20 and all(abs(st[i][k]-st[j][k])<=10 for k in range(4)):cnt+=1;print(cnt)。样例→1。核心:成对水平相当。
试卷来源:2024全国青少年信息素养大赛C++算法创意实践挑战赛(小学组_复赛_浙江)真题