求助:为什么会Runtime Error??

来源:百度知道 编辑:UC知道 时间:2024/06/14 16:34:28
poj1928The Peanuts
#include<iostream>
using namespace std;
int jl(int x1,int y1,int x2,int y2)
{
return abs(x2-x1)+abs(y2-y1)+1;
}
int main()
{
int a,m,n,k,i,j,t,p,s,tm,f[401],x[401],y[401],z[401];
cin>>a;
for(int b=0;b<a;b++)
{
cin>>m>>n>>k;
for (t=1;t<=m*n;t++)
cin>>f[t];
for (i=1;i<=m*n;i++)
{
p=1;
for (j=2;j<=m*n;j++)
if (f[j]>f[p])
p=j;
if (p==1&&f[1]==0)
{
x[i]=-1;
break;
}
else
{
z[i]=f[p];

while(k-tm-jl(x[t],y[t],x[t+1],y[t+1])-(y[t+1]-1)>0&&x[t+1]!=-1
___________________________._____._________.___________._______
说不定是这里出错了(没仔细看,只是感觉。“.”表示可能出问题的东西)。

检查一下数组的下标有没有超出范围。

你可以用断点的方法进行跟踪除错。