尤斯蒂亚 @ 2020-11-26 17:18:52
这是90分的代码
#include<cstdio>
#include<iostream>
#include<stdio.h>
#include<bits/stdc++.h>
#include<iostream>
#include<cstdlib>
#include<ctime>
#include<algorithm>
#include<string>
using namespace std;
int r,c;
int value[101][101];
int num[101][101];
void dp(int x,int y)
{
if (value[x-1][y]!=0 and num[x-1][y]<num[x][y] and value[x-1][y]+1 >= value[x][y]) value[x][y]=value[x-1][y]+1;
if (value[x+1][y]!=0 and num[x+1][y]<num[x][y] and value[x+1][y]+1 >= value[x][y]) value[x][y]=value[x+1][y]+1;
if (value[x][y-1]!=0 and num[x][y-1]<num[x][y] and value[x][y-1]+1 >= value[x][y]) value[x][y]=value[x][y-1]+1;
if (value[x][y+1]!=0 and num[x][y+1]<num[x][y] and value[x][y+1]+1 >= value[x][y]) value[x][y]=value[x][y+1]+1;
}
void search(int x,int y)
{
if (num[x][y]<num[x-1][y]and num[x][y]<num[x+1][y]and num[x][y]<num[x][y-1]and num[x][y]<num[x][y+1])
value[x][y]=1;
}
int check()
{
for (int i=1;i<=r;++i)
for (int j=1;j<=c;++j)
{
if (value[i][j]==0) return 0;
}
return 1;
}
int main()
{
int maxn=0;
cin>>r>>c;
for (int i=0;i<=r+1;++i)
for (int j=0;j<=c+1;++j)
{
num[i][j]=999999;
}
for (int i=1;i<=r;++i)
for (int j=1;j<=c;++j)
{
cin>>num[i][j];
}
for (int i=1;i<=r;++i)
for (int j=1;j<=c;++j)
{
value[i][j]=0;
}
for (int i=1;i<=r;++i)
for (int j=1;j<=c;++j)
{
search(i,j);
}
//预处理
for (int k=1;k<=r*c/2;++k)
{
for (int i=1;i<=r;++i)
for (int j=1;j<=c;++j)
{
dp(i,j);
}
}
for (int i=1;i<=r;++i)
for (int j=1;j<=c;++j)
{
maxn=max(maxn,value[i][j]);
}
cout<<maxn;
return 0;
}
紧接着我在结尾出加了一行
maxn=max(maxn,value[i][j]);
}
if (maxn==0) maxn=1;
cout<<maxn;
return 0;
}
竟然AC了!!! 说明
2 2
1 1
1 1
这个样例的答案居然是1,但是按照题目描述和实际情况,应该是根本滑不了才对。 太坑了!!
by LeavingZzz @ 2020-11-26 17:22:09
@尤斯蒂亚 为什么根本滑不了
by 尤斯蒂亚 @ 2020-11-26 17:23:16
@_Leaving 平地应该不能不能滑雪吧
by LeavingZzz @ 2020-11-26 17:23:45
起点显然自己定,答案至少为
by 尤斯蒂亚 @ 2020-11-26 17:24:17
题目中的描述如下
一个人可以从某个点滑向上下左右相邻四个点之一,当且仅当高度会减小。
by LeavingZzz @ 2020-11-26 17:24:28
难道你想说起点不算长度?
by 尤斯蒂亚 @ 2020-11-26 17:25:31
差不多是这个感觉
by LeavingZzz @ 2020-11-26 17:26:13
那样例答案不就应该是
by 尤斯蒂亚 @ 2020-11-26 17:28:06
我的意思是只在平地下
0
-1-
1
1 1
______________
像上图,应该滑不起来吧
by Xqbk @ 2020-11-27 12:37:32
滑不起来所以只有起点一格,答案是1
滑起来的话答案就是2了
by Lance_03 @ 2021-01-23 19:31:54
@尤斯蒂亚 生 动 形 象