题目:http://noi.openjudge.cn/ch0206/7614/
分析:DP
代码:
#include <cstdio>
#include <algorithm>
#include <cstring>
using namespace std;
const int Tmax=105;
int n,data[Tmax][Tmax],f[Tmax][Tmax];
void work()
{
int i,j;
f[1][1]=data[1][1];
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
{
if(i-1>=1) f[i][j]=f[i-1][j]+data[i][j];
if(j-1>=1) f[i][j]=min(f[i][j],f[i][j-1]+data[i][j]);
}
printf("%d",f[n][n]);
return;
}
int main()
{
int i,j;
scanf("%d",&n);
for(i=1;i<=n;i++)
for(j=1;j<=n;j++)
scanf("%d",&data[i][j]);
memset(f,0x3f,sizeof(f));
work();
return 0;
}