1 条题解

  • 2
    @ 2023-12-16 14:54:53

    =

    #include<bits/stdc++.h>
    using namespace std;
    int n,m,i,j;
    int a[505][105],minn=INT_MAX,f[105][105];
    int main()
    {
      cin>>n>>m;
      for(i=1;i<=n;++i)
      for(j=1;j<=m;++j)
      cin>>a[i][j];
      for(i=1;i<=m;++i)
      f[1][i]=a[1][i];
      for(i=2;i<=n;++i)
      {
        for(j=1;j<=m;++j)
    	{
          if(j==1)f[i][j]=a[i][j]+f[i-1][j];
          else f[i][j]=a[i][j]+min(f[i-1][j],f[i][j-1]); 
    	}
        
        for(j=m-1;j>=1;--j)
        f[i][j]=min(f[i][j],f[i][j+1]+a[i][j]);
      }
      for(j=1;j<=m;++j)
      if(f[n][j]<minn)
      minn=f[n][j];
      cout<<minn;
      return 0;
    }
    
    • 1

    信息

    ID
    25
    时间
    1000ms
    内存
    256MiB
    难度
    6
    标签
    (无)
    递交数
    164
    已通过
    55
    上传者