天天看点

UVA 562 Dividing coins 分硬币(01背包,简单变形)

题意:一袋硬币两人分,要么公平分,要么不公平,如果能公平分,输出0,否则输出分成两半的最小差距。

思路:将提供的整袋钱的总价取一半来进行01背包,如果能分出出来,就是最佳分法。否则背包容量为一半总价的包能装下的硬币总值就是其中一个人能分得的最多的钱了,总余下的钱减去这包硬币总值。(只需要稍微考虑一下总值是奇数/偶数的问题)

UVA 562 Dividing coins 分硬币(01背包,简单变形)
UVA 562 Dividing coins 分硬币(01背包,简单变形)

AC代码

作者:​​xcw0754​​

水平有限,若有疏漏,欢迎指出。

继续阅读