稳定婚姻问题:
- N男和N女的匹配问题,两两配对。
- 很多BLOG以及稳定婚姻算法的设定都是男生追女生,此处全部改掉。
- 每一个女生对所有的男生有一个排序,这个女生会最先去追排在第一位的男生,如果这个男的把这个女的拒绝了,那么这个女的就回去选在排在第二位的男生,如果这个男生还把她给拒绝了,那就依次类推。
- 每一个男生对所有的女生有一个评分(每个男人对每个女生的评分不一样,因人而异),一个男生希望评分高的女生向自己表白,如果别人有人了,那就评分低点的也行,以此类推。
- 不稳定婚姻因素设定:如果一个男生有女朋友,但是此时来个一个在男生心中评分更高(更完美)的女生向男生表白。此时这个男生就会放弃现在现有的女朋友去和分值更高的这个女生在一起。
算法思想:
- 根据女生对男生的排序进行遍历
- 如果当前男生,拒绝过该女生,那么女生就要换一个分值稍低的男生
- 如果当前男生,没有拒绝过该女生,并且该男生没有女朋友,“暂时”配对成功
- 如果当前男生,没有拒绝过该女生,并且该男生有女朋友,如果现在表白的这个女生的分值高于男生的现女友,那么男生为了“稳定的婚姻关系”需要抛弃现女友,选择和这个表白的女孩在一起&