算法问题求教

来源:百度知道 编辑:UC知道 时间:2024/05/25 17:33:37
现在有这样一个问题,弄得我头痛,想请高人指教!
问题如下:
表 Table1 表Table2
姓名 礼物数 送礼人 收礼人
A 2
B 1
C 4
D 1
E 3
F 2
G 2
H 1
要求:每人都要把自己手里的礼物送出给不同的人,并且收到相同数目的礼物,两人不能互换礼。
用T-SQL把交换结果写入Table2
我再补充一点,送礼人只能每位收礼人一份礼物.

爱莫能助,深奥了点

abcd可以为1组,因为C=A+B+D, efgh可以为一组,因为E+H=F+G.
以abcd为例子。a给c 2个礼物,b,d给c 1个礼物;c给a2个礼物,c给b,d各一个。这样就实现互换礼物,并且收到相同的数目的礼物。
顺便说一句,因为涉及到作判断,用SQL语句会比较麻烦。