又一道面向题解编程的恶心神题。真是叫人质壁分离……
设f[i][j][k]表示考虑了前i节课,尝试了j次,当前申请结果为k时消耗的体力值。
对于f[i][j][0]有两种情况:一是我们的主角根本没去申请换当前课,二是我们的主角尝试了,但是failed
so根据题面有以下几种情况:
1.当前的课不换的情况:
(1)上一节课也没换;
(2)上一节课换了----成功or不成功;
2.当前的课换的情况:
(1)当前课成功换了:
a.上一节课换了----上一节课成功or不成功
b.上一节课没换;
(2)当前的课换了失败:
a.上一节课换了----上一节课成功or不成功
b.上一节课没换;
列出对应的方程即可。教室之间的距离使用Floyd 求出。