#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
//没掌握 郭老师分析
int L[100][100];
int da[100][100];
int dx[4]={1,-1,0,0};
int dy[4]={0,0,1,-1};
struct Sun{
int a;
int x;
int y;
};
bool myfun(struct Sun c1,struct Sun c2)
{
return (c1.a<c2.a);
}
int main()
{
int R;
int C;
cin>>R>>C;
vector<struct Sun> vec;
for(int i=0;i<R;i++)
{
for(int j=0;j<C;j++)
{
cin>>da[i][j];
struct Sun t;
t.a=da[i][j];
t.x=i;
t.y=j;
vec.push_back(t);
}
}
sort(vec.begin(),vec.end(),myfun);
int jg=0;
for(int i=0;i<vec.size();i++)
{
int zd=0;
for(int j=0;j<4;j++)
{
int ax=vec[i].x+dx[j];
int ay=vec[i].y+dy[j];
if(ax>=0 && ax<R && ay>=0 && ay<C && da[vec[i].x][vec[i].y]>da[ax][ay])
{
L[vec[i].x][vec[i].y]=max(L[vec[i].x][vec[i].y],L[ax][ay]+1);
jg=max(L[vec[i].x][vec[i].y],jg);
}
}
}
/*
for(int i=0;i<R;i++)
{
for(int j=0;j<C;j++)
{
cout<<L[i][j]<<" ";
}
cout<<endl;
}*/
cout<<jg+1<<endl;
return 0;
}
POJ 1088 滑雪 G++
最新推荐文章于 2020-04-17 18:03:15 发布