找出Python中可以满足多少传输请求的程序
假设有n个宿舍房间,编号从0到n-1。宿舍房间里的学生想转移到另一个房间,他们提出了几个要求。宿舍没有空位,只有当另一名学生代替愿意转学的学生时,才会处理转学请求。因此,给定请求,我们必须找出可以满足多少请求。
所以,如果输入像n=3,requests=[[0,2],[1,0],[2,1]],那么输出将是3。
0号房间的学生转移到2号房间。
1号房间的学生转移到0号房间。
2号房间的学生转移到1号房间。
示例
让我们看下面的实现来更好地理解
from itertools import combinations
def solve(n, requests):
for k in range(len(requests), 0, -1):
for c in combinations(range(len(requests)), k):
d = [0] * n
for i in c:
d[requests[i][0]] -= 1
d[requests[i][1]] += 1
if not any(d):
return k
return 0
print(solve(3, [[0,2],[1,0],[2,1]]))输入
3, [[0,2],[1,0],[2,1]]输出结果
3
热门推荐
1 训练狗狗憋尿
2 狗狗追踪训练
3 狗狗训练要多少钱
5 深圳狗狗训练
6 训练狗狗唤回
7 狗狗叫怎么训练
8 狗狗训练班
10 狗狗社会化训练
11 狗狗叫回训练
12 广州狗狗训练学校
13 狗狗训练躺下
14 狗狗随行训练
15 训练狗狗巡回
16 狗狗要怎么训练
17 狗狗喂食训练
18 训练狗狗躺下