问题本身可以找到here。其要点是贝西骑着过山车,但她头晕目眩。在不超过她的“晕眩极限”的情况下,她可以拥有的最大乐趣是多少。 输入包括:确定最大乐趣的算法
“NKL
其中N(1≤N≤1,000)是部分的在该特定过山车的数量; K(1≤ķ≤500)的量如果Bessie在任何路段上闭着眼睛,头晕会降低;而L(1≤L≤300,000)是Bessie可以忍受的头晕的极限 - 如果她的头晕比L大,贝西将会生病了,那并不好玩!
接下来N行中的每一行都会有两个整数:
FD
其中F(1≤˚F≤20),壳牌得到,如果她让她的眼睛上那款开放,d的增加Bessies总乐趣(1≤d≤500)增加如果她在该部分保持睁大眼睛的话,可以使她头晕目眩。该部分将顺序列出“
我的算法来解决这个看起来是这样的:。。?
cin >> N; // sections
cin >> K; // amount dizziness can go down
cin >> L; // dizzy ceiling
belowL = L; // sets the amount of dizzy left
for (int i = 0; i < N; i++) {
cout << "\n" << i;
cin >> F >> D; // fun increase and dizzy increase
if (D < belowL) {
if (F >= D) {
funTotal += F;
}
}
else {
belowL -= K;
}
然而,这并不总是产生正确的结果有什么问题应该挑有趣的选项,除非它会把贝西在病门槛,有没有更好的方式来做到这一点?
我很好奇为什么有人投票结束这个,它措辞相当好,并有一个链接到原来的问题以及。 :p我没有时间阅读它,但如果我这样做,它看起来像一个有趣的问题! – 2012-02-15 20:26:49
你应该寻找最大限度发挥乐趣的方法,但目前你只是想尽快获得尽可能多的乐趣。 – 2012-02-15 20:28:50
让我想起[RollerCoaster Tycoon](http://en.wikipedia.org/wiki/Roller_Coaster_Tycoon)。当客人离开过山车并摔倒在人行道上时,我喜欢它。 – 2012-02-15 20:30:21