level 2
____京京
楼主
最近有个朋友向我提了一个问题,问我能不能用程序解决公交卡完美刷零,也就是在已知卡内余额和票价的情况下,用程序给出一种刷卡方案,使得卡内余额刚好为0,现在已知本市公交票价有以下几种规格:
公交:0.9,1.8;
地铁:1.8,2.7,3.6,4.5,5.4,6.3;
有轨电车:1.9,2.85,3.8;
充值规则是:只能充10元的倍数,最低10元,最高1000元,一张公交卡可以在以上三种公共交通中通用。
限定条件是,刷卡次数要尽可能少,同时还要考虑票价权重的问题,比如乘坐2.7-4.5元档地铁和1.8元档公交的人最多,那么这几种票价的权重就最高,应该优先考虑,0.9元公交次之,1.8、5.4和6.3元地铁的权重再次之,有轨电车权重最低。
目前我没有一点思路,不知道大佬们有没有遇到过类似的需求,是怎么解决的?
2023年03月14日 13点03分
1
公交:0.9,1.8;
地铁:1.8,2.7,3.6,4.5,5.4,6.3;
有轨电车:1.9,2.85,3.8;
充值规则是:只能充10元的倍数,最低10元,最高1000元,一张公交卡可以在以上三种公共交通中通用。
限定条件是,刷卡次数要尽可能少,同时还要考虑票价权重的问题,比如乘坐2.7-4.5元档地铁和1.8元档公交的人最多,那么这几种票价的权重就最高,应该优先考虑,0.9元公交次之,1.8、5.4和6.3元地铁的权重再次之,有轨电车权重最低。
目前我没有一点思路,不知道大佬们有没有遇到过类似的需求,是怎么解决的?