acm 滑雪

来源:百度知道 编辑:UC知道 时间:2024/06/15 19:23:05
小弟,我第一次做ACM的PKU JudgeOnline。就是这个滑雪问题,我写的程序可以算出答案,可是提交的结果就是wrong answer.哪位大侠帮帮我啊
我的程序如下:
# include<stdio.h>
int heigth[100][100];
int r,c;
int longest=0;

/*void initTestEdtion()
{
r=5,c=5,
heigth[0][0]=1;
heigth[0][1]=2;
heigth[0][2]=3;
heigth[0][3]=4;
heigth[0][4]=5;
heigth[1][0]=16;
heigth[1][1]=17;
heigth[1][2]=18;
heigth[1][3]=19;
heigth[1][4]=6;
heigth[2][0]=15;
heigth[2][1]=24;
heigth[2][2]=25;
heigth[2][3]=20;
heigth[2][4]=7;
heigth[3][0]=14;
heigth[3][1]=23;
heigth[3][2]=22;
heigth[3][3]=21;
heigth[3][4]=8;
heigth[4][0]=13;
heigth[4][1]=12;
heigth[4][2]=11;
heigth[4][3]=10;
heigth[4][4]=9;
}*/
void init()
{
int i,j;
scanf("%d",&r);
scanf("%d&qu

呵呵 知道我是谁吗

//POJ_1088 滑雪

#include<iostream>
using namespace std;

int a[101][101];
int h[101][101];
int n,m;

int value(int i,int j)
{
int max=1;

if(h[i][j]!=-1)
return h[i][j];
if(i>0&&a[i-1][j]<a[i][j])
if(value(i-1,j)+1>max)
max=h[i-1][j]+1;
if(j>0&&a[i][j-1]<a[i][j])
if(value(i,j-1)+1>max)
max=h[i][j-1]+1;
if(i<n-1&&a[i+1][j]<a[i][j])
if(value(i+1,j)+1>max)
max=h[i+1][j]+1;
if(j<m-1&&a[i][j+1]<a[i][j])
if(value(i,j+1)+1>max)
max=h[i][j+1]+1;
h[i][j]=max;
return max;
}

int main()
{
int i,j,max;

cin>>n>>m;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
{
h[i][j]=-1;
cin>>a[i][j];
}
max=0;
for(i=0;i<n;i++)
for(j=0;j<m;j++)
if(value(i,j)&g