#4550. Python L13 对局匹配

Python L13 对局匹配

Python L13 对局匹配(30分)

题目名称:对局匹配

有一个在线围棋对战平台,系统会根据用户的积分自动组局。为了尽量让水平相近的人组成一局,系统要求两名用户积分差不超过3。

现在平台上有n名空闲用户,已知每名用户的积分。请你实现这个自动分配对手的程序,尽可能安排更多的对局,输出系统最多能组成的对局数量。

例如:

n=6时,6名用户的积分分别是17, 18, 22, 15, 11, 10。

积分10的用户可以和积分11的用户组成1局;

积分15、17、18的3个用户,任何两人都可以组成1局;

积分22的用户无法和任何人组成对局。

最多能组成的对局数量是2。

输入:

第一行一个正整数n(1<=n<=20),表示空闲的用户数量;

第二行按字符串形式输入n个正整数(大小在10~30范围内),相邻两个正整数用一个空格分隔,依次表示每名用户的积分。

提示:

s = input() #输入一个字符串,赋值给s

a = s.split(' ') #将字符串s按空格拆分,保存到列表a中

lis = [int(i) for i in a] #将列表a的元素转换成整数,保存到列表lis中

输出:

一个整数,为系统最多能组成的对局数量。

输入样例:

6

17 18 22 15 11 10

输出样例:

2

Limitation

1s, 1024KiB for each test case.