#include using namespace std; int H,W,A[500][500],dp[500][500]; int dr[4]={1,0,-1,0},dc[4]={0,1,0,-1}; bool vis[500][500]; int dfs(int r, int c) { if(vis[r][c])return dp[r][c]; dp[r][c]=1; for(int d=0;d<4;d++) { int tr=r+dr[d],tc=c+dc[d]; if(0<=tr&&trA[r][c]) { dp[r][c]=max(dp[r][c],dfs(tr,tc)+1); } } vis[r][c]=true; return dp[r][c]; } int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin>>H>>W; for(int i=0;i>A[i][j]; int ans=0; for(int i=0;i