一个坑点
Ryan_
2019-09-26 10:15:30
```
#include <cstdio>
#include <algorithm>
#include <cstring>
#include <string>
#include <cmath>
#include <iostream>
#include <iomanip>
using namespace std;
int n,m,a[2005][2005],ans=1<<30;
int main() {
scanf ("%d%d",&m,&n);
for (int i=0; i<n; i++)
for (int j=0; j<m; j++)scanf ("%d",&a[i][j]);
for (int j=m-2; j>=0; j--)
for (int i=0; i<n; i++)
a[i][j]=min(a[(i+1)%n][j+1],a[i][j+1])+a[i][j];
for (int i=0; i<n; i++)ans=min(ans,a[i][0]);
printf("%d",ans);
return 0;
}
```
对于一些dp涉及到上下行之间的转化,如果存在n行直接到1行的情况,数组下标最好是从0开始(坑了我好久)