虽然是dp,写出来感觉和枚举一个意思
#include<iostream>
#include<cmath>
#define maxn 21
using namespace std;
int a[maxn][maxn];
int dp[maxn][maxn];
int main()
{
int n,k;
while(cin>>n>>k)
{
for(int i=0;i<n;i++)
{
for(int j=0;j<k;j++)
{
cin>>a[i][j];
dp[i][j]=1<<30;
}
}
for(int i=0;i<k;i++) dp[0][i]=0;
for(int i=0;i<n;i++)
{
for(int j=0;j<k;j++)
{
for(int s=0;s<k;s++)
{
int x=abs(a[i-1][s]-a[i][j]);
dp[i][j]=min(dp[i][j],dp[i-1][s]+x);
}
}
}
int ans=1<<30;
for(int i=0;i<k;i++)
{
ans=min(ans,dp[n-1][i]);
}
cout<<ans<<endl;
}
return 0;
}#include<iostream>
#inc