这是HackerRank的错误解决方案
Mistake in this solution for HackerRank
这是一个来自HackerRank(评级中等)的问题:
当丹妮莉丝得到她的新手机时,里面没有游戏。于是,她去游戏商店下载了一款评分最高的游戏《公主与天使》。
在游戏中,公主开始时总实力为0。公主和她的城堡前有N个天使。每个天使都给我力量。但有些天使实际上是邪恶的穿着天使的衣服,他们给负面力量试图与公主战斗。如果丹妮莉丝能不死地穿过所有N个天使,就能赢得游戏。如果公主的总力量小于0,她就会死。幸运的是公主有一种特殊的力量。她可以和天使战斗并且几乎一次逆转它的力量。如果她对一个拥有x力量的天使使用这种力量,她就可以把它变成-x。
丹妮莉丝可以预见N个天使的力量。当穿过每个天使时,力量被加到总力量中。公主也可以在加入之前逆转那个天使的力量,但只有一次。
给定N个天使的力量,你能帮丹妮莉丝想出她能得到的最好的结果吗?
print "She did it!"(没有引号)如果她能赢得比赛。否则打印她可能到达的最大位置(即由于负总强度而死亡的位置)。
输入格式第一行输入包含T,测试用例的数量。
每个测试用例有两行,第一行有N个,下一行有N个空格分隔的整数。
约束1 & lt; = T<= 1000
1 & lt; = N<= 100000
-1000 & lt; = strength<= 1000
输出格式对于每个测试用例,打印单行表示问题的答案。
这是我对解决方案的尝试:
#include <iostream>
using namespace std;
int main() {
int strength, power, n, t, count = 1, i, pos;
cin>>t;
while(count <= t)
{
strength = 0;
power = 1;
cin>>n;
int a[n];
for(i = 0; i < n; i++)
cin>>a[i];
for(i = 0; i < n; i++)
{
if((strength + a[i]) < 0 && power == 1)
{
strength -= a[i];
power = 0;
}
else if((strength + a[i] < 0) && power == 0)
{
if(strength >= 0)
{
pos = i + 1;
strength += a[i];
break;
}
}
else if((strength + a[i]) >= 0)
strength += a[i];
}
if(strength >= 0)
cout<<"She did it!"<<endl;
else if(strength < 0)
cout<<pos<<endl;
count++;
}
return 0;
}
我想:
想象以下输入:
5
6 -5 -2 -2 -2
你的算法将遇到6
并将其相加,因此强度变为6
。
接下来我们遇到了-5
。既然我们不会死,我们就接受损失。强度变为1
。
接下来是-2
。这将杀死我们(带我们到-1
),所以我们使用能量翻转它。我们的力量变成了3
。
下面的两个-2
将因此杀死我们。
然而,如果你在-5
上使用了能量,使11
的总强度在那一点上,你就会到达终点,所以在这种情况下,你的答案是错误的
- Project Euler问题4的错误解决方案
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 我的固定时间步长与增量时间和插值的解决方案是错误的吗?
- 解决方案在第 25 行执行错误'out of bounds'
- 使用STL对用户输入数组进行排序的错误有什么解决方案吗?
- C++ LeetCode #377 的 DP 解决方案中,此代码是否有错误?
- 错误LNK2005无法解决问题的解决方案
- 我在运行这个黑客排名 Gridland 地铁的解决方案时遇到分段错误
- 将单元测试添加到旧解决方案时出现链接错误
- OpenCV 错误的解决方案:不支持的格式或格式组合 - 当将 ORB 功能与 FlannBasedMatcher 匹配
- 在可视化解决方案 c++ 中获取链接器错误
- 为什么回溯解决方案给出错误的答案
- 我在 TSP 的C++解决方案中遇到转换错误
- 构建C 插件时的错误,该解决方案是什么
- 错误的LNK2005已定义为将C /Fortran解决方案更新为VS 2013
- 我提交了解决方案,并在第 4 个测试用例中出现时间限制错误
- C++ mysql 仅在构建解决方案时LNK2019错误
- 3n+1解决方案给出错误的答案
- 为什么“从'x*'到'y'失去精度”是一个硬错误,什么是适合旧版代码的解决方案
- 找不到错误"invalid conversion from char to const char*"的解决方案