?? 滑雪.txt.txt
字號:
#include <stdio.h>
#include <string.h>
#define MAXN 100
const int dx[4] = { -1, 0, 0, 1 };
const int dy[4] = { 0, -1, 1, 0 };
int m, n, maxh;
int h[MAXN][MAXN], max[MAXN][MAXN];
bool init()
{
if( scanf( "%d %d", &m, &n ) == EOF )
return false;
for( int i = 0; i < m; ++i )
for( int j = 0; j < n; ++j )
scanf( "%d", &h[i][j] );
memset( max, -1, sizeof( max ) );
maxh = 0;
return true;
}
int search_it( int x, int y )
{
if( max[x][y] != -1 )
return max[x][y];
max[x][y] = 1;
for( int i = 0; i < 4; ++i )
{
int xx = x + dx[i], yy = y + dy[i];
if( xx >= 0 && xx < m
&& yy >=0 && yy < m && h[xx][yy] < h[x][y] )
{
int nowmax = search_it( xx, yy );
if( nowmax + 1 > max[x][y] )
max[x][y] = nowmax + 1;
}
}
if( max[x][y] > maxh )
maxh = max[x][y];
return max[x][y];
}
int main()
{
while( init() )
{
for( int i = 0; i < m; ++i )
for( int j = 0; j < n; ++j )
search_it( i, j );
printf( "%d\n", maxh );
}
return 0;
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -