【扩展欧几里德】【拼凑正方形问题】

有关拼凑正方形的问题一般都和欧几里德或者扩展欧几里德有关,至少一般会和最大公约数有关【我什么都没说过啊..我没有!我不是!】

https://acm.ecnu.edu.cn/contest/69/problem/A/

题意:给一个正方形【边长为n】,若干长方形【长为x,宽为y】,问能否拼凑出一个大正方形来【其中必须至少用一个长方形并且必须使用那个小正方形】

首先如果要能拼凑出一个正方形,必须有  ax+by=n   有解

证明:设大正方形的边长为 X ,则拼凑过程必有  X=k1x+m1y+n 且X=k2x+m2y【两个等式分别对应包含小正方形的行和不包含小正方形的行】,则整理可得(k2-k1)x+(m2-m1)y=n,也就是ax+by=n有解,得证。

而由扩展欧几里德可知,n是gcd(x,y)的倍数时必有解否则必定无解。

 

posted @ 2018-04-22 09:35  MekakuCityActor  阅读(339)  评论(0编辑  收藏  举报