一本通题目网址:http://ybt.ssoier.cn:8088/problem_show.php?pid=1287
现在只有输出什么东西搞不定了
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define re return
#define ew 1005
#define sz 1000005
#define sscc cout<<6;
const int MOD=1e9+7;
int dp[ew][ew];
int a[ew][ew];
int b[ew][ew];
int n;
int dx[]={0,0,0,1,-1};
int dy[]={0,1,-1,0,0};
int maxx=-2e9;
int dfs(int x,int y){
if(dp[x][y]!=0){
return dp[x][y];
}
dp[x][y]=a[x][y];
for(int i=1;i<=4;i++){
int nx=x+dx[i];
int ny=y+dy[i];
if(nx>=1 && nx<=n && ny>=1 && ny<=n){
dp[x][y]=min(dp[x][y],dfs(nx,ny)+a[nx][ny]);
}
}
//maxx=max(maxx,dp[x][y]);
return dp[x][y];
}
signed main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin>>n;
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
cin>>a[i][j];
}
}
for(int i=1;i<=n;i++){
for(int j=1;j<=n;j++){
b[i][j]=dfs(i,j);
}
}
//cout<<dp[n][n];
re 0;
}
补药AC代码!希望大佬能调调蒟蒻的代码