当前位置: 首页 > 知识库问答 >
问题:

spoj ACPC10D-为什么我得到了错误的答案?

胡玉书
2023-03-14

这是我的代码。它正在传递问题语句中给出的测试用例。问题链接:http://www.spoj.com/problems/ACPC10D/tri[i][j]存储从tri[0][1]到达索引(i, j)的最小值。

 //trigraphs-dp
#include<iostream>
#include<limits.h>
using namespace std;
int tri[1000000][3];
int min(int a,int b)
{
if(a<=b)
return a;

else
return b;
}

int main()
{
int n,t=1;
while(cin>>n)
{

    if(n==0)
    break;
    for(int i=0;i<n;i++)
    for(int j=0;j<3;j++)
    cin>>tri[i][j];

    tri[0][0]=INT_MAX;

    tri[0][2]=tri[0][1]+tri[0][2];
    //cout<<tri[0][2];

    int a,b,c,d;
    for(int i=1;i<n;i++)
    for(int j=0;j<3;j++)
    {
        a=tri[i-1][j];
        b=(j==2)?INT_MAX:tri[i-1][j+1];
        c=(j==0)?INT_MAX:tri[i-1][j-1];
        d=(j==0)?INT_MAX:tri[i][j-1];

        tri[i][j]+=min(min(a,b),min(c,d));
   }

   cout<<t<<". "<<tri[n-1][1]<<"\n";

    }

 return 0;
}

共有1个答案

王兴庆
2023-03-14

1-您忘记在循环结束时增加t

2-将tri定义为long-long类型,因为当您添加数字时可能会溢出。

 类似资料:
  • URL类 来自服务器的最终响应:

  • 我用vscode写了一个java程序。但是我在java输出中得到了意想不到的答案。通常这个sout应该是6.6,但是java说6.6000000000000005。为什么

  • 很抱歉,我对Java知之甚少。我得到了这个代码来接管。基本上,我在 当我运行代码时。 下面是解析XML的块 这是Improts,不确定是否需要这样做 这是XML文件

  • 我刚刚开始了一个新的项目,正在尝试连接到FireBase。当我试图构建我的项目时,我得到了一个错误:无法解析Android应用程序模块的Gradle配置,所以我查看了构建,它告诉我jCenter()不推荐使用,我应该删除它。当我把它取下来的时候,一切都很好。但是,当我尝试连接到Firebase时,我得到了错误:AbstractDynamicObject$CustomMessageMissingMe

  • 给定一个0和1的数组,我们最多可以将K个值从0更改为1。 返回仅包含1的最长(连续)子数组的长度。 例1: 例2: 注: https://leetcode.com/problems/max-consecutive-ones-iii/ 这是问题链接。在第一个测试用例中,我得到了输出9,但应该是6。我不知道哪里出了问题?

  • {“error”:“invalid_scope”,“error_description”:“AADSTS70011:为输入参数”scope“提供的值无效。作用域 https://graph.microsoft.com/User.Read https://graph.microsoft.com/User.ReadWrite https://graph.microsoft.com/User.ReadB