gpt4 book ai didi

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

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:20:17 24 4
gpt4 key购买 nike

这是我的代码。它通过了问题陈述中给出的测试用例。 问题链接: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- 你忘了在循环结束时递增 t

2- 将tri定义为long long类型,因为加起来可能会溢出。

关于algorithm - spoj ACPC10D - 为什么我得到错误的答案?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34454092/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com