C++ 为什么不管提供了什么输入,最后一个测试用例总是0
为什么最后一个测试用例的输出总是0,而与输入无关。这是针对Hackerearth的一个问题的解决方案,我在这方面花了很多时间,我无法理解为什么最后一个测试用例总是给出0的输出。当第一次输入相同的测试用例时,我得到了正确的答案或者产生输出0的相同输入给出了正确的答案。该代码适用于所有输入,但最后一个输入的顺序是正确的。有人能找出故障是什么吗C++ 为什么不管提供了什么输入,最后一个测试用例总是0,c++,C++,为什么最后一个测试用例的输出总是0,而与输入无关。这是针对Hackerearth的一个问题的解决方案,我在这方面花了很多时间,我无法理解为什么最后一个测试用例总是给出0的输出。当第一次输入相同的测试用例时,我得到了正确的答案或者产生输出0的相同输入给出了正确的答案。该代码适用于所有输入,但最后一个输入的顺序是正确的。有人能找出故障是什么吗 #include <bits/stdc++.h> typedef long long ll; using namespace std; int m
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;
int main()
{
int i,j,t,n,p,g;
cin>>t;
while (t>0)
{
int p1=0,p2=0;
string s[15];
cin >>g>>p;
cin >>n;
for ( i = 0 ; i < n ; i++ )
{
getline ( cin , s[ i ]);
if (s[i][0] == '1')
p1++;
if (s[i][2] == '1')
p2++;
}
if ((p1*g + p2*p) > (p1*p + p2*g))
cout<<(p1*p + p2*g)<<endl;
else
cout<<(p1*g + p2*p)<<endl;
t--;
}
return 0;
}
#包括
typedef long-long-ll;
使用名称空间std;
int main()
{
inti,j,t,n,p,g;
cin>>t;
而(t>0)
{
int p1=0,p2=0;
字符串s[15];
cin>>g>>p;
cin>>n;
对于(i=0;i(p1*p+p2*g))
cout你的问题中唯一的小毛病是:不要使用
getline(cin,s[i]);
您需要使用cin>>s[i][0]>>s[i][2];
我希望这将解决您的问题并获得所需的输出。
谢谢可能与此无关,但是您的缩进会显示t--
在else块中,而它不是…谢谢。但这不是问题所在。