切尔西季前赛:主场迎战勒沃库森、AC米兰。
切尔西足球俱乐部,一直备受广大球迷关注。近期,他们在其官方网站上公布了新赛季的季前赛安排。消息显示,切尔西决定留守主场进行季前备战,这一决策的背后,无疑是对自家主场优势的充分信任与依赖。
在刚刚结束的世俱杯征程中,切尔西远赴美国参赛,经历了长时间的征战。而今年,他们选择在熟悉的科巴姆基地进行训练和备战。此外,他们还将举办一场“2025马耳他旅游周末”的友谊赛锦标赛,赛事地点位于斯坦福桥球场。这不仅是一场简单的比赛,更是球队为迎接新赛季所做的重要准备工作之一。
关于季前赛的具体安排,揭幕战将于8月8日周五晚7点打响。首战的对手是实力强劲的德甲亚军勒沃库森,两队在赛场上的对决无疑会引发众多球迷的期待。而在两天后的8月10日周日下午3点,切尔西将再次坐镇主场,迎战另一支意甲豪门AC米兰。这一系列的赛事安排不仅是对球队实力的考验,更是对球队战术和团队默契的锻炼。
这一系列的季前赛安排不仅让球迷们期待不已,也展现了切尔西为新赛季所做的精心准备。无论是在科巴姆基地的辛勤训练,还是在斯坦福桥的友谊赛,都体现出这支“蓝军”为迎接挑战所做的全面准备。而在即将到来的揭幕战和次战中,球迷们将有机会一睹切尔西的实力与风采。# 题目
## 题目描述
在一个小村庄里,有N个家庭(编号为1到N),每个家庭都有一些存款。
每个家庭都有一个存款金额和一个存款利率(百分数形式),例如家庭A有100元存款和3%的年利率,那么每年A家庭将获得3元的利息。
现在村长想要重新分配这些家庭的存款利息,使得每个家庭的存款利息相同。为了达到这个目标,村长可以决定将一些家庭的存款转移到其他家庭(每次转移必须恰好转移一个单位的货币),并且转移过程不产生任何额外费用。但每次转移必须遵循以下规则:
1. 转移金额必须是整数倍的货币单位(例如1元、2元等)。
2. 每次转移必须是从一个家庭转移到另一个家庭(不能从多个家庭转移到一个家庭或从一个家庭分散转移到多个家庭)。
请帮助村长找到一种分配方式,使得所有家庭的存款利息相等。如果可以的话,请输出一个具体的方案;如果不可以的话,请说明原因。
### 输入格式
第一行输入一个整数N(N <= 100),表示家庭的数目。
接下来N行每行输入两个整数,分别表示第i个家庭的存款金额和存款利率(百分数形式)。
### 输出格式
如果可以找到一种分配方式使得所有家庭的存款利息相等,则输出每个家庭需要转移的金额(如果不需要转移则输出0),以空格分隔。如果有多解,输出任意一种即可。如果无法找到这样的分配方式,则输出“Impossible”。
### 示例输入
```
4
100 3
50 2
75 4
60 5
```
### 示例输出
```
35 25 0 15
```
### 解释
示例输出表示第一个家庭给第二个家庭转移35元、第三个家庭给第二个家庭转移25元、第四个家庭不需要转移且获得15元的利息(总计所有家庭的利息相等)。
### 题目分析
本题要求我们找到一种分配方式使得所有家庭的存款利息相等。我们需要先计算每个家庭的年利息然后寻找一种转移方式来使它们相等。需要注意的是我们每次转移金额必须是整数倍的货币单位并且只能从一个家庭转移到另一个家庭。这个问题可以使用贪心算法来解决但是需要注意的是不能简单地给所有家庭的存款按比例进行转移因为需要保持每个转移的金额为整数且只有两家间互相转账不便于一次性规划全局我们也可以采用dfs暴力的解法穷举所有的可能性再求得答案但这会使得时间复杂度变得非常高甚至不可接受。本题可以使用扩展欧几尔得算法求出是否有解及最小公倍数并按照最小公倍数分配使得所有家庭的利息相等但是考虑到编程难度和实现复杂度这里我们可以使用一个更简单的方法:先求出所有家庭年利息的总和然后求出所有家庭年利息的最大值然后按照最大值来分配给每个家庭并计算每个家庭需要转移的金额如果总和无法被最大值整除则说明无法达到每个家庭利息相等的目标因此我们需要先求出每个家庭的年利息总和和最大值然后判断总和是否能被最大值整除若能被