DP題目 創意喫魚法

#include
#include<cstdio>
using namespace std;
int f[2510][2510]={0};
int n,m;
int main()
{int ans=0;int k1,k2;
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
scanf("%d",&f[i][j]);
}
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
{
if(f[i][j]==1)
{
int temp=f[i-1][j-1];
if(temp>=1&&temp+1>f[i][j])
{
for( k1=1;k1<
}=temp;k1++)
{
if(f[i][j-k1]>=1) break;
}
for( k2=1;k2<=temp;k2++)
{
if(f[i-k2][j]>=1) break;
}
f[i][j]=min(k1,k2);
}
temp=f[i-1][j+1];
if(temp>=1&&temp+1>f[i][j])
{
for( k1=1;k1<=temp;k1++)
{
if(f[i][j+k1]>=1) break;
}
for(k2=1;k2<=temp;k2++)
{
if(f[i-k2][j]>=1) break;
}
f[i][j]=min(k1,k2);
}
}ans=max(f[i][j],ans);

}

cout<<ans;}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章